EditeurPanovisu 3.1.0
Éditeur de visites virtuelles 360° Panovisu
Chargement...
Recherche...
Aucune correspondance
GestionnaireInterfaceController.java
Aller à la documentation de ce fichier.
1/*
2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
5 */
6package editeurpanovisu;
7
36import java.io.BufferedReader;
37import java.io.File;
38import java.io.FileInputStream;
39import java.io.FileNotFoundException;
40import java.io.IOException;
41import java.io.InputStreamReader;
42import java.io.UnsupportedEncodingException;
43import java.math.BigDecimal;
44import java.util.ArrayList;
45import java.util.Date;
46import java.util.List;
47import java.util.Optional;
48import java.util.ResourceBundle;
49import java.util.logging.Level;
50import java.util.logging.Logger;
51import javafx.collections.FXCollections;
52import javafx.collections.ObservableList;
53import javafx.geometry.Insets;
54import javafx.geometry.Pos;
55import javafx.geometry.Rectangle2D;
56import javafx.scene.control.Alert;
57import javafx.scene.control.Button;
58import javafx.scene.control.ButtonType;
59import javafx.scene.control.CheckBox;
60import javafx.scene.control.ColorPicker;
61import javafx.scene.control.ComboBox;
62import javafx.scene.control.Label;
63import javafx.scene.control.RadioButton;
64import javafx.scene.control.ScrollPane;
65import javafx.scene.control.Separator;
66import javafx.scene.control.Slider;
67import javafx.scene.control.TextField;
68import javafx.scene.control.ToggleGroup;
69import javafx.scene.control.Tooltip;
70import javafx.scene.image.Image;
71import javafx.scene.image.ImageView;
72import javafx.scene.image.PixelReader;
73import javafx.scene.image.PixelWriter;
74import javafx.scene.image.WritableImage;
75import javafx.scene.input.KeyCode;
76import javafx.scene.layout.AnchorPane;
77import javafx.scene.layout.Background;
78import javafx.scene.layout.HBox;
79import javafx.scene.layout.Pane;
80import javafx.scene.layout.VBox;
81import javafx.scene.paint.Color;
82import javafx.scene.shape.Arc;
83import javafx.scene.shape.ArcType;
84import javafx.scene.shape.Circle;
85import javafx.scene.shape.Line;
86import javafx.scene.shape.Rectangle;
87import javafx.scene.text.Font;
88import javafx.scene.text.TextAlignment;
89import javafx.stage.FileChooser;
90import javafx.animation.Timeline;
91import javafx.animation.KeyFrame;
92import javafx.animation.KeyValue;
93import javafx.animation.Interpolator;
94import javafx.animation.RotateTransition;
95import javafx.animation.ScaleTransition;
96import javafx.animation.FadeTransition;
97import javafx.animation.TranslateTransition;
98import javafx.animation.ParallelTransition;
99import javafx.animation.SequentialTransition;
100import javafx.util.Duration;
102
109
114 private static final double PANEL_TOP_MARGIN = 15.0;
115
120 private static final double PANEL_ELEMENT_SPACING = 5.0;
121
126 public Date dtBuild;
127
130
135 private int iCalqueTitre = 1;
136
141 private int iCalqueBarreClassique = 1;
142
148
153 private int iCalqueMasquage = 1;
154
159 private int iCalqueVisiteAuto = 1;
160
165 private int iCalquePartage = 1;
166
171 private int iCalquePlan = 1;
172
177 private int iCalqueCarte = 1;
178
183 private int iCalqueBoussole = 1;
184
189 private int iCalqueVignettes = 1;
190
195 private int iCalqueMenuPanoramiques = 1;
196
201 private int iCalqueSuivPrec = 1;
202
207
212
217
222
227
232
237
242
247
252
257
262
267
271 final private int iNombreCalques = 20;
272
277
282
287
292 private ImageView[] ivImageFond = new ImageView[20];
293
294
300 = new ExtensionsFilter(new String[]{".png", ".jpg", ".bmp", ".gif"});
301
307 = new ExtensionsFilter(new String[]{".png"});
308
313 private ImageFond[] imagesFond = new ImageFond[50];
314
318 private int iNombreImagesFond = 0;
319
323 private boolean bTemplate;
324
329
333 public static String strTypeHS = "";
334
338 public static String strNomfichierHS = "";
339
343 public static String strTypeHSImage = "";
344
348 public static String strNomfichierHSImage = "";
349
353 public static String strTypeHSHTML = "";
354
358 public static String strNomfichierHSHTML = "";
359
363 private String strStyleHotSpots = "hotspot.png";
364
368 private String strStyleHotSpotImages = "photo2.png";
369
373 private String strStyleHotSpotHTML = "html1.png";
374
379
383 private double offsetXBarreClassique = 0;
384
388 private double offsetYBarreClassique = 10;
389
393 private double tailleBarreClassique = 26;
394
398 private double espacementBarreClassique = 4;
399
403 private final String strStyleDefautBarreClassique = "retina";
404
409 private String strPositionBarreClassique = "bottom:center";
410
415
420
425
430
435
440
445
450
455
460
465
470
475
480
485
490
495
500
505
510
515
520
525
530
535
540
545
550
555 private Color couleurBarreClassique = Color.hsb(180, 0.39, 0.5);
556
560 private boolean bCouleurOrigineBarrePersonnalisee = true;
561
566
570 private double offsetXBarrePersonnalisee = 0;
571
575 private double offsetYBarrePersonnalisee = 0;
576
580 private double tailleBarrePersonnalisee = 100;
581
586
590 private double opaciteBarrePersonnalisee = 1.0;
591
596 private String strPositionBarrePersonnalisee = "bottom:right";
597
602
607
612
617
622
627
632
637
642
647
652
658
663
668
673
678
683
688
693
698
703
708
713
718
723
728
733
738
743
748
753
758
763
767 private TextField tfLien1BarrePersonnalisee;
768
772 private TextField tfLien2BarrePersonnalisee;
773
778
783
788
793
798
803
807 private Color couleurBarrePersonnalisee = Color.hsb(180, 0.39, 0.5);
808
813
822
826 private boolean bAfficheTitre = true;
827
832 private String strTitrePoliceNom = "Verdana";
833
837 private String strTitrePoliceStyle = "Regular";
838
842 private String strTitrePoliceTaille = "12.0";
843
848 private String strCouleurTitre = "#ffffff";
849
854 private String strCouleurFondTitre = "#4e8080";
855
859 private String strTitrePosition = "center";
860
864 private double titreDecalage = 10;
865
869 private boolean bTitreVisite = false;
870
874 private boolean bTitrePanoramique = true;
875
879 private boolean bTitreAdapte = false;
880
884 private double titreOpacite = 0.8;
885
889 private double titreTaille = 100.0;
890
894 private boolean bAfficheDescription = false;
895
900
905
909 private boolean bChargementEnCours = false;
910
914 private boolean bAfficheBoussole = false;
915
920 private String strImageBoussole = "rose3.png";
921
926 private String strPositionBoussole = "top:right";
927
931 private double offsetXBoussole = 20;
932
936 private double offsetYBoussole = 20;
937
941 private double tailleBoussole = 100;
942
946 private double opaciteBoussole = 0.8;
947
951 private boolean bAiguilleMobileBoussole = true;
956
961
966
971
976
981
986
991
996
1001
1006
1011
1016
1021
1025 private boolean bAfficheFenetreInfo = false;
1026
1030 private boolean bAfficheFenetreAide = false;
1031
1035 private boolean bFenetreInfoPersonnalise = false;
1036
1040 private boolean bFenetreAidePersonnalise = false;
1041
1045 private double fenetreInfoTaille = 100.d;
1046
1050 private double fenetreAideTaille = 100.d;
1051
1055 private double fenetreInfoPosX = 0.d;
1056
1060 private double fenetreInfoPosY = 0.d;
1061
1065 private double fenetreAidePosX = 0.d;
1066
1070 private double fenetreAidePosY = 0.d;
1071
1075 private double fenetreInfoposX = 0.d;
1076
1080 private double fenetreInfoOpacite = 0.8;
1081
1085 private double fenetreAideOpacite = 0.8;
1086
1090 private double fenetrePoliceTaille = 10.d;
1091
1095 private double fenetreURLPosX = 0.d;
1096
1100 private double fenetreURLPosY = 0.d;
1101
1105 private double fenetreOpaciteFond = 0.8;
1106
1111
1116
1120 private String strFenetreURL = "";
1121
1126
1131
1136 private String strFenetreURLCouleur = "#FFFF00";
1137
1142 private String strFenetrePolice = "Verdana";
1143
1148 private String strFenetreCouleurFond = "#ffffff";
1149
1154
1159
1163 private TextField tfFenetreInfoImage;
1164
1168 private TextField tfFenetreAideImage;
1169
1174
1179
1184
1189
1194
1199
1204
1209
1213 private TextField tfFenetreTexteURL;
1214
1218 private TextField tfFenetreURL;
1219
1223 private TextField tfFenetreURLInfobulle;
1224
1229
1234
1239
1244
1249
1254
1259
1263 private final Label lblFenetreURL = new Label();
1264
1269
1273 private boolean bAfficheMasque = false;
1274
1279 private String strImageMasque = "MA.png";
1280
1285 private String strPositionMasque = "top:right";
1286
1290 private double dXMasque = 20;
1291
1295 private double dYMasque = 20;
1296
1300 private double tailleMasque = 30;
1301
1305 private double opaciteMasque = 0.8;
1306
1310 private boolean bMasqueNavigation = true;
1311
1315 private boolean bMasqueBoussole = true;
1316
1320 private boolean bMasqueTitre = true;
1321
1325 private boolean bMasquePlan = true;
1326
1330 private boolean bMasqueReseaux = true;
1331
1335 private boolean bMasqueVignettes = true;
1336
1340 private boolean bMasqueCombo = true;
1341
1345 private boolean bMasqueSuivPrec = true;
1346
1350 private boolean bMasqueHotspots = true;
1351
1356
1361
1366
1371
1376
1381
1386
1391
1396
1401
1406
1411
1416
1421
1426
1431
1436
1441
1446
1451
1455 private boolean bAfficheReseauxSociaux = false;
1456
1461 private String strImageReseauxSociauxTwitter = "twitter.png";
1462
1467 private String strImageReseauxSociauxMeta = "facebook.png";
1468
1474
1479 private String strPositionReseauxSociaux = "top:right";
1480
1484 private double dXReseauxSociaux = 20;
1485
1489 private double dYReseauxSociaux = 20;
1490
1494 private double tailleReseauxSociaux = 30;
1495
1499 private double opaciteReseauxSociaux = 0.8;
1500
1504 private boolean bReseauxSociauxTwitter = true;
1505
1509 private boolean bReseauxSociauxMeta = true;
1510
1514 private boolean bReseauxSociauxEmail = true;
1515
1520
1525
1530
1535
1540
1545
1550
1555
1560
1565
1570
1575
1580
1585
1590
1595
1600
1604 private boolean bAfficheVignettes = false;
1605
1610 private String strCouleurFondVignettes = "#4e8080";
1611
1617
1621 private String strPositionVignettes = "bottom";
1622
1626 private double tailleImageVignettes = 120;
1627
1631 private double opaciteVignettes = 0.8;
1632
1637
1642
1647
1652
1657
1662
1667
1672
1676 private boolean bReplieDemarrageVignettes = false;
1677
1682
1687
1692
1696 private boolean bAfficheComboMenu = false;
1697
1701 private boolean bAfficheComboMenuImages = true;
1702
1707
1712
1716 private double offsetXComboMenu = 10;
1717
1721 private double offsetYComboMenu = 10;
1722
1727
1732
1737
1742
1747
1752
1757
1762
1767
1772
1777
1782
1787
1792
1797
1802
1807
1812
1817
1822
1827
1832
1837
1842
1847
1852
1857
1861 private boolean bAfficheBoutonVisiteAuto = false;
1862
1867
1872
1876 private double offsetXBoutonVisiteAuto = 10;
1877
1881 private double offsetYBoutonVisiteAuto = 10;
1882
1886 private double tailleBoutonVisiteAuto = 32;
1887
1892
1897
1901 private boolean bAffichePlan = false;
1902
1906 private String strPositionPlan = "left";
1907
1911 private double largeurPlan = 200;
1912
1916 private Color couleurFondPlan = Color.hsb(180, 0.39, 0.5);
1917
1921 private String strCouleurFondPlan = couleurFondPlan.toString().substring(2, 8);
1922
1926 private double opacitePlan = 0.8;
1927
1931 private Color couleurTextePlan = Color.rgb(255, 255, 255);
1932
1936 private String strCouleurTextePlan = couleurTextePlan.toString().substring(2, 8);
1937
1941 private boolean bAfficheRadar = false;
1942
1946 private Color couleurLigneRadar = Color.rgb(255, 255, 0);
1947
1951 private String strCouleurLigneRadar = couleurLigneRadar.toString().substring(2, 8);
1952
1956 private Color couleurFondRadar = Color.rgb(200, 0, 0);
1957
1961 private String strCouleurFondRadar = couleurFondRadar.toString().substring(2, 8);
1962
1966 private double tailleRadar = 40;
1967
1971 private double opaciteRadar = 0.5;
1972
1976 private boolean bReplieDemarragePlan = false;
1977
1981 public boolean bOmbreInfoBulle = true;
1982
1987
1992
1997
2001 public String strPoliceInfoBulle = "Verdana";
2002
2006 public double taillePoliceInfoBulle = 16;
2007
2011 public double opaciteInfoBulle = 0.75;
2012
2017
2021 public int iArrondiTL = 0, iArrondiTR = 5, iArrondiBL = 0, iArrondiBR = 5;
2022
2027
2032
2037
2042
2047
2052
2057
2062
2067
2071 private Label lblInfoBulle = new Label("test infoBulle");
2072
2077
2082
2087
2092
2097
2102
2107
2112
2117
2122
2127
2132
2137
2142
2147
2151 private boolean bAfficheCarte = false;
2152
2156 private String strPositionCarte = "left";
2157
2161 private double largeurCarte = 400;
2162
2166 private double hauteurCarte = 300;
2167
2171 private Color couleurFondCarte = Color.hsb(180, 0.39, 0.5);
2172
2176 private String strCouleurFondCarte = couleurFondCarte.toString().substring(2, 8);
2177
2181 private double opaciteCarte = 0.8;
2182
2186 private Color couleurTexteCarte = Color.rgb(255, 255, 255);
2187
2191 private String strCouleurTexteCarte = couleurTexteCarte.toString().substring(2, 8);
2192
2196 private boolean bAfficheRadarCarte = false;
2197
2201 private Color couleurLigneRadarCarte = Color.rgb(200, 0, 0);
2202
2206 private String strCouleurLigneRadarCarte = couleurLigneRadarCarte.toString().substring(2, 8);
2207
2211 private Color couleurFondRadarCarte = Color.rgb(200, 0, 0);
2212
2216 private String strCouleurFondRadarCarte = couleurFondRadarCarte.toString().substring(2, 8);
2217
2221 private double tailleRadarCarte = 60;
2222
2226 private double opaciteRadarCarte = 0.4;
2227
2232
2236 private int iFacteurZoomCarte = 14;
2237
2241 private double angleRadarCarte = 45.d;
2242
2246 private double ouvertureRadarCarte = 35.d;
2247
2251 private String strNomLayers = "OpenStreetMap";
2252
2256 private boolean bReplieDemarrageCarte = false;
2257
2262
2267
2272
2277
2282
2287
2292
2297
2302
2307
2312
2317
2322
2327
2332
2336 private boolean carteEnCoursDeChargement = false;
2337
2342
2347
2352
2357
2361 private boolean bAfficheMenuContextuel = false;
2362
2366 private boolean bAffichePrecSuivMC = true;
2367
2371 private boolean bAffichePlanetNormalMC = true;
2372
2376 private boolean bAffichePersMC1 = false;
2377
2381 private String strPersLib1 = "";
2382
2386 private String strPersURL1 = "";
2387
2391 private boolean bAffichePersMC2 = false;
2392
2396 private String strPersLib2 = "";
2397
2401 private String strPersURL2 = "";
2402
2407
2412
2417
2422
2427
2431 private TextField tfPersLib1;
2432
2436 private TextField tfPersURL1;
2437
2441 private TextField tfPersLib2;
2442
2446 private TextField tfPersURL2;
2447
2452
2457
2462
2467
2472
2477
2482
2487
2492
2497
2502
2507
2512
2517
2522
2527
2532
2537
2542
2547
2552
2557
2562
2567
2572
2577
2582
2587
2592
2597
2602
2607
2611 private HBox hbZoom;
2612
2617
2622
2627
2632
2637
2642
2647
2652
2657
2662
2667
2672
2677
2682
2687
2692
2697
2702
2707
2712
2717
2722
2727
2732
2737
2742
2747
2752
2757
2761 private boolean bSuivantPrecedent;
2762
2767
2772
2777
2782
2787
2792
2797
2802
2807
2812
2817
2822
2827
2832
2837
2842
2847
2852
2857
2862
2867
2872
2876 private Color couleurHotspots = Color.hsb(180, 0.39, 0.5);
2877
2881 private Color couleurHotspotsPhoto = Color.hsb(180, 0.39, 0.5);
2882
2886 private Color couleurHotspotsHTML = Color.hsb(180, 0.39, 0.5);
2887
2892
2896 private int iTailleHotspotsImage = 25;
2897
2901 private int iTailleHotspotsHTML = 25;
2902
2907
2912
2917
2922 private double getVisualisationWidth() {
2923 if (ivVisualisation == null) return 0;
2924 return ivVisualisation.getBoundsInParent().getWidth();
2925 }
2926
2931 private double getVisualisationHeight() {
2932 if (ivVisualisation == null) return 0;
2933 return ivVisualisation.getBoundsInParent().getHeight();
2934 }
2935
2939 private boolean bHotspotsPanoAnimesDefaut = false;
2940
2944 private boolean bHotspotsPhotoAnimesDefaut = false;
2945
2949 private boolean bHotspotsHTMLAnimesDefaut = false;
2950
2955
2960
2965
2969 private boolean bHotspotsPanoAgrandisDefaut = false;
2970
2974 private boolean bHotspotsPhotoAgrandisDefaut = false;
2975
2979 private boolean bHotspotsHTMLAgrandisDefaut = false;
2980
2985
2990
2995
3000
3005
3010
3015
3020
3025
3029 private Color couleurMasque = Color.hsb(180, 0.39, 0.5);
3030
3034 private Color couleurFondTheme = Color.hsb(180, 0.39, 0.5);
3035
3039 final private Color couleurTexteTheme = Color.valueOf("white");
3040
3044 final private double opaciteTheme = 0.8;
3045
3050 private Image[] imgBoutons = new Image[50];
3051
3056 private String[] strNomImagesBoutons = new String[25];
3057
3062
3067
3072
3076 private int iNombreImagesBouton = 0;
3077
3082
3087
3092
3097
3106
3107 // Vérifier que le répertoire existe
3108 if (!fileRepertBarre.exists()) {
3109 System.err.println("❌ Répertoire de barre introuvable : " + fileRepertBarre.getAbsolutePath());
3110 return;
3111 }
3112
3114
3115 // Vérifier que des fichiers ont été trouvés
3116 if (fileRepertoires == null || fileRepertoires.length == 0) {
3117 System.err.println("❌ Aucun fichier d'image trouvé dans : " + fileRepertBarre.getAbsolutePath());
3118 System.err.println(" Contenu du répertoire :");
3119 File[] allFiles = fileRepertBarre.listFiles();
3120 if (allFiles != null) {
3121 for (File f : allFiles) {
3122 System.err.println(" - " + f.getName());
3123 }
3124 }
3125 return;
3126 }
3127
3128 int i = 0;
3130 if (!fileRepert.isDirectory()) {
3131 String strNomFich = fileRepert.getName();
3132 String strNomFichComplet = fileRepert.getAbsolutePath();
3133 getImgBoutons()[i] = new Image("file:" + strNomFichComplet);
3134 getPrLisBoutons()[i] = getImgBoutons()[i].getPixelReader();
3135 int iLargeur = (int) getImgBoutons()[i].getWidth();
3136 int iHauteur = (int) getImgBoutons()[i].getHeight();
3138 getPwNouveauxBoutons()[i] = getWiNouveauxBoutons()[i].getPixelWriter();
3139 switch (strNomFich) {
3140 case "aide.png":
3142 break;
3143 case "info.png":
3145 break;
3146 case "haut.png":
3148 break;
3149 case "bas.png":
3151 break;
3152 case "droite.png":
3154 break;
3155 case "gauche.png":
3157 break;
3158 case "fs.png":
3160 break;
3161 case "fs2.png":
3163 break;
3164 case "rotation.png":
3166 break;
3167 case "souris.png":
3169 break;
3170 case "souris2.png":
3172 break;
3173 case "zoomin.png":
3175 break;
3176 case "zoomout.png":
3178 break;
3179 }
3181 i++;
3182 }
3183 }
3185 getImgBoutons()[getiNombreImagesBouton()] = new Image("file:" + strRepertHotSpots + File.separator + strHotSpot);
3187 int iLargeur = (int) getImgBoutons()[getiNombreImagesBouton()].getWidth();
3188 int iHauteur = (int) getImgBoutons()[getiNombreImagesBouton()].getHeight();
3191 if (strTypeHS.equals("gif")) {
3192 ivHotSpotPanoramique = new ImageView(new Image("file:" + strRepertHotSpots + File.separator + strHotSpot));
3193 } else {
3195 }
3196 ivHotSpotPanoramique.setSmooth(true);
3201 iHauteur = (int) getImgBoutons()[getiNombreImagesBouton()].getHeight();
3204 if (strTypeHSImage.equals("gif")) {
3206 } else {
3208 }
3209 ivHotSpotImage.setSmooth(true);
3214 iHauteur = (int) getImgBoutons()[getiNombreImagesBouton()].getHeight();
3217 if (strTypeHSHTML.equals("gif")) {
3218 ivHotSpotHTML = new ImageView(new Image("file:" + strRepertHotSpotsHTML + File.separator + getStrStyleHotSpotHTML()));
3219 } else {
3221 }
3222 ivHotSpotHTML.setSmooth(true);
3223
3224 // Initialiser les vignettes pour les panels de configuration (copies indépendantes)
3225 if (strTypeHS.equals("gif")) {
3226 ivVignettePanoConfig = new ImageView(new Image("file:" + strRepertHotSpots + File.separator + strHotSpot));
3227 } else {
3229 }
3230 ivVignettePanoConfig.setSmooth(true);
3231
3232 if (strTypeHSImage.equals("gif")) {
3234 } else {
3236 }
3237 ivVignetteImageConfig.setSmooth(true);
3238
3239 if (strTypeHSHTML.equals("gif")) {
3241 } else {
3243 }
3244 ivVignetteHTMLConfig.setSmooth(true);
3245
3246 setImgMasque(new Image("file:" + strRepertMasques + File.separator + strMA));
3247
3249 iLargeur = (int) getImgMasque().getWidth();
3250 iHauteur = (int) getImgMasque().getHeight();
3254
3256 changeCouleurHS(couleurHotspots.getHue(), couleurHotspots.getSaturation(), couleurHotspots.getBrightness());
3257 changeCouleurHSPhoto(couleurHotspotsPhoto.getHue(), couleurHotspotsPhoto.getSaturation(), couleurHotspotsPhoto.getBrightness());
3258 changeCouleurHSHTML(couleurHotspotsHTML.getHue(), couleurHotspotsHTML.getSaturation(), couleurHotspotsHTML.getBrightness());
3259 changeCouleurMasque(couleurMasque.getHue(), couleurMasque.getSaturation(), couleurMasque.getBrightness());
3260
3261 // Mettre à jour les vignettes après la coloration
3262 if (!strTypeHS.equals("gif")) {
3264 }
3265 if (!strTypeHSImage.equals("gif")) {
3267 }
3268 if (!strTypeHSHTML.equals("gif")) {
3270 }
3271 }
3272
3279 private void changeCouleurBarrePersonnalisee(double couleurFinale, double sat, double bright) {
3280 if (imgPngBarrePersonnalisee == null) {
3281 return; // Image non chargée, on ne fait rien
3282 }
3288 for (int y = 0; y < imgPngBarrePersonnalisee.getHeight(); y++) {
3289 for (int x = 0; x < imgPngBarrePersonnalisee.getWidth(); x++) {
3290 Color color = prBarrePersonnalisee.getColor(x, y);
3291 double brightness = color.getBrightness();
3292 double hue = color.getHue(); //getHue() return 0.0-360.0
3293 double saturation = color.getSaturation();
3294 double opacity = color.getOpacity();
3295 Color couleur;
3296 couleur = Color.hsb(hue, sat, bright, opacity);
3297 pwBarrePersonnaliseeCouleur.setColor(x, y, prBarrePersonnalisee.getColor(x, y));
3298 }
3299 }
3300
3301 } else {
3302 for (int y = 0; y < imgPngBarrePersonnalisee.getHeight(); y++) {
3303 for (int x = 0; x < imgPngBarrePersonnalisee.getWidth(); x++) {
3304 Color color = prBarrePersonnalisee.getColor(x, y);
3305 double brightness = color.getBrightness();
3306 double saturation = color.getSaturation();
3307 double opacity = color.getOpacity();
3308 Color couleur;
3309 double bright1;
3310 double sat1;
3311 if (sat < 0.05) {
3313 } else {
3314 if (brightness > 0.9 || brightness < 0.1) {
3316 } else {
3317 bright1 = (brightness * 2.d + bright) / 3.d;
3318 }
3319 if (saturation < 0.35) {
3320 sat1 = saturation;
3321 } else {
3322 sat1 = (saturation + sat) / 2.d;
3323 }
3325
3326 }
3328 }
3329 }
3330
3331 }
3332
3333 }
3334
3341 private void changeCouleurBarreClassique(double couleurFinale, double sat, double bright) {
3342 for (int i = 0; i < getiNombreImagesBouton() - 2; i++) {
3343 for (int y = 0; y < getImgBoutons()[i].getHeight(); y++) {
3344 for (int x = 0; x < getImgBoutons()[i].getWidth(); x++) {
3345 Color color = getPrLisBoutons()[i].getColor(x, y);
3346 double brightness = color.getBrightness();
3347 double saturation = color.getSaturation();
3348 double opacity = color.getOpacity();
3349 Color couleur;
3350 if (sat < 0.1) {
3352 } else {
3353 if (saturation < 0.2) {
3355 } else {
3356 couleur = Color.hsb(couleurFinale, saturation * 0.4 + sat * 0.6, brightness * 0.4 + bright * 0.6, opacity);
3357 }
3358 }
3359 getPwNouveauxBoutons()[i].setColor(x, y, couleur);
3360 }
3361 }
3362 }
3363
3364 }
3365
3372 private void changeCouleurMasque(double couleurFinale, double sat, double bright) {
3373 for (int y = 0; y < getImgMasque().getHeight(); y++) {
3374 for (int x = 0; x < getImgMasque().getWidth(); x++) {
3375 Color color = getPrLisMasque().getColor(x, y);
3376 double brightness = color.getBrightness();
3377 double saturation = color.getSaturation();
3378 double opacity = color.getOpacity();
3379 Color couleur;
3380 if ((sat < 0.02) && (saturation > 0.05)) {
3381 double bright1;
3382 if (brightness > 0.1 && brightness < 0.9) {
3383 bright1 = brightness * 0.5 + bright * 0.5;
3384 } else {
3386 }
3388 } else {
3389 double sat1;
3390 double bright1;
3391 if (saturation < 0.3 || (brightness < 0.2 || brightness > 0.8)) {
3392 sat1 = saturation;
3394 } else {
3395 sat1 = saturation * (1 - saturation + sat);
3396 double exp = Math.exp(-4 * Math.pow(2 * brightness - 1, 2));
3397 bright1 = bright * exp + brightness * (1 - exp);
3398 }
3400
3401 }
3402 getPwNouveauxMasque().setColor(x, y, couleur);
3403 }
3404 }
3405 }
3406
3413 private void changeCouleurHS(double couleurFinale, double sat, double bright) {
3414 if (!strTypeHS.equals("gif")) {
3415 for (int y = 0; y < getImgBoutons()[getiNombreImagesBouton() - 2].getHeight(); y++) {
3416 for (int x = 0; x < getImgBoutons()[getiNombreImagesBouton() - 2].getWidth(); x++) {
3417 Color color = getPrLisBoutons()[getiNombreImagesBouton() - 2].getColor(x, y);
3418 double brightness = color.getBrightness();
3419 double saturation = color.getSaturation();
3420 double opacity = color.getOpacity();
3421 Color couleur;
3422 if ((sat < 0.02) && (saturation > 0.05)) {
3423 double bright1;
3424 if (brightness > 0.1 && brightness < 0.9) {
3425 bright1 = brightness * 0.5 + bright * 0.5;
3426 } else {
3428 }
3430 } else {
3431 double sat1;
3432 double bright1;
3433 if (saturation < 0.3 || (brightness < 0.2 || brightness > 0.8)) {
3434 sat1 = saturation;
3436 } else {
3437 sat1 = saturation * (1 - saturation + sat);
3438 double exp = Math.exp(-4 * Math.pow(2 * brightness - 1, 2));
3439 bright1 = bright * exp + brightness * (1 - exp);
3440 }
3442
3443 }
3445 }
3446 }
3447 }
3448 }
3449
3456 private void changeCouleurHSPhoto(double couleurFinale, double sat, double bright) {
3457 if (!strTypeHSImage.equals("gif")) {
3458 for (int y = 0; y < getImgBoutons()[getiNombreImagesBouton() - 1].getHeight(); y++) {
3459 for (int x = 0; x < getImgBoutons()[getiNombreImagesBouton() - 1].getWidth(); x++) {
3460 Color color = getPrLisBoutons()[getiNombreImagesBouton() - 1].getColor(x, y);
3461 double brightness = color.getBrightness();
3462 double saturation = color.getSaturation();
3463 double opacity = color.getOpacity();
3464 Color couleur;
3465 if ((sat < 0.02) && (saturation > 0.05)) {
3466 double bright1;
3467 if (brightness > 0.1 && brightness < 0.9) {
3468 bright1 = brightness * 0.5 + bright * 0.5;
3469 } else {
3471 }
3473 } else {
3474 double sat1;
3475 double bright1;
3476 if (saturation < 0.3 || (brightness < 0.2 || brightness > 0.8)) {
3477 sat1 = saturation;
3479 } else {
3480 sat1 = saturation * (1 - saturation + sat);
3481 double exp = Math.exp(-4 * Math.pow(2 * brightness - 1, 2));
3482 bright1 = bright * exp + brightness * (1 - exp);
3483 }
3485
3486 }
3488 }
3489 }
3490 }
3491 }
3492
3499 private void changeCouleurHSHTML(double couleurFinale, double sat, double bright) {
3500 if (!strTypeHSHTML.equals("gif")) {
3501 for (int y = 0; y < getImgBoutons()[getiNombreImagesBouton()].getHeight(); y++) {
3502 for (int x = 0; x < getImgBoutons()[getiNombreImagesBouton()].getWidth(); x++) {
3504 double brightness = color.getBrightness();
3505 double saturation = color.getSaturation();
3506 double opacity = color.getOpacity();
3507 Color couleur;
3508 if ((sat < 0.02) && (saturation > 0.05)) {
3509 double bright1;
3510 if (brightness > 0.1 && brightness < 0.9) {
3511 bright1 = brightness * 0.5 + bright * 0.5;
3512 } else {
3514 }
3516 } else {
3517 double sat1;
3518 double bright1;
3519 if (saturation < 0.3 || (brightness < 0.2 || brightness > 0.8)) {
3520 sat1 = saturation;
3522 } else {
3523 sat1 = saturation * (1 - saturation + sat);
3524 double exp = Math.exp(-4 * Math.pow(2 * brightness - 1, 2));
3525 bright1 = bright * exp + brightness * (1 - exp);
3526 }
3528
3529 }
3531 }
3532 }
3533 }
3534 }
3535
3543 // Arrêter l'animation en cours pour ce hotspot
3545 switch (hotspotType) {
3546 case "pano":
3547 if (animationPanoEnCours != null) {
3548 animationPanoEnCours.stop();
3549 animationPanoEnCours = null;
3550 }
3551 break;
3552 case "photo":
3553 if (animationPhotoEnCours != null) {
3554 animationPhotoEnCours.stop();
3555 animationPhotoEnCours = null;
3556 }
3557 break;
3558 case "html":
3559 if (animationHTMLEnCours != null) {
3560 animationHTMLEnCours.stop();
3561 animationHTMLEnCours = null;
3562 }
3563 break;
3564 }
3565
3566 // Réinitialiser les transformations
3567 imageView.setTranslateX(0);
3568 imageView.setTranslateY(0);
3569 imageView.setRotate(0);
3570 imageView.setScaleX(1);
3571 imageView.setScaleY(1);
3572 imageView.setOpacity(1);
3573
3574 // Attendre un petit moment pour s'assurer que les animations sont bien arrêtées
3575 if (animationType == null || animationType.equals("none")) {
3576 return;
3577 }
3578
3580
3581 // Créer de nouvelles transitions pour chaque animation (pas de réutilisation)
3582 switch (animationType) {
3583 case "pulse":
3584 ScaleTransition stPulse = new ScaleTransition(Duration.millis(1000), imageView);
3585 stPulse.setFromX(1.0);
3586 stPulse.setFromY(1.0);
3587 stPulse.setToX(1.3);
3588 stPulse.setToY(1.3);
3589 stPulse.setAutoReverse(true);
3590 stPulse.setCycleCount(Timeline.INDEFINITE);
3592 break;
3593
3594 case "rotation":
3595 RotateTransition rtRotation = new RotateTransition(Duration.millis(2000), imageView);
3596 rtRotation.setByAngle(360);
3597 rtRotation.setCycleCount(Timeline.INDEFINITE);
3599 break;
3600
3601 case "bounce":
3602 TranslateTransition ttBounce = new TranslateTransition(Duration.millis(1000), imageView);
3603 ttBounce.setFromY(0);
3604 ttBounce.setToY(-20);
3605 ttBounce.setAutoReverse(true);
3606 ttBounce.setCycleCount(Timeline.INDEFINITE);
3607 ttBounce.setInterpolator(Interpolator.EASE_OUT);
3609 break;
3610
3611 case "swing":
3612 RotateTransition rtSwing = new RotateTransition(Duration.millis(1000), imageView);
3613 rtSwing.setFromAngle(-15);
3614 rtSwing.setToAngle(15);
3615 rtSwing.setAutoReverse(true);
3616 rtSwing.setCycleCount(Timeline.INDEFINITE);
3618 break;
3619
3620 case "glow":
3621 FadeTransition ftGlow = new FadeTransition(Duration.millis(1000), imageView);
3622 ftGlow.setFromValue(1.0);
3623 ftGlow.setToValue(0.4);
3624 ftGlow.setAutoReverse(true);
3625 ftGlow.setCycleCount(Timeline.INDEFINITE);
3627 break;
3628
3629 case "heartbeat":
3630 ScaleTransition st1 = new ScaleTransition(Duration.millis(200), imageView);
3631 st1.setToX(1.3);
3632 st1.setToY(1.3);
3633 ScaleTransition st2 = new ScaleTransition(Duration.millis(200), imageView);
3634 st2.setToX(1.0);
3635 st2.setToY(1.0);
3636 ScaleTransition st3 = new ScaleTransition(Duration.millis(200), imageView);
3637 st3.setToX(1.3);
3638 st3.setToY(1.3);
3639 ScaleTransition st4 = new ScaleTransition(Duration.millis(200), imageView);
3640 st4.setToX(1.0);
3641 st4.setToY(1.0);
3643 seqHeartbeat.setCycleCount(Timeline.INDEFINITE);
3645 break;
3646
3647 case "shake":
3648 TranslateTransition tt1 = new TranslateTransition(Duration.millis(100), imageView);
3649 tt1.setToX(-10);
3650 TranslateTransition tt2 = new TranslateTransition(Duration.millis(100), imageView);
3651 tt2.setToX(10);
3652 TranslateTransition tt3 = new TranslateTransition(Duration.millis(100), imageView);
3653 tt3.setToX(-10);
3654 TranslateTransition tt4 = new TranslateTransition(Duration.millis(100), imageView);
3655 tt4.setToX(10);
3656 TranslateTransition tt5 = new TranslateTransition(Duration.millis(100), imageView);
3657 tt5.setToX(0);
3659 seqShake.setCycleCount(Timeline.INDEFINITE);
3661 break;
3662
3663 case "flip":
3664 RotateTransition rtFlip = new RotateTransition(Duration.millis(1000), imageView);
3665 rtFlip.setAxis(javafx.geometry.Point3D.ZERO.add(0, 1, 0));
3666 rtFlip.setByAngle(360);
3667 rtFlip.setCycleCount(Timeline.INDEFINITE);
3669 break;
3670
3671 case "wobble":
3672 RotateTransition rtWobble1 = new RotateTransition(Duration.millis(100), imageView);
3673 rtWobble1.setToAngle(-5);
3674 RotateTransition rtWobble2 = new RotateTransition(Duration.millis(100), imageView);
3675 rtWobble2.setToAngle(5);
3676 RotateTransition rtWobble3 = new RotateTransition(Duration.millis(100), imageView);
3677 rtWobble3.setToAngle(-5);
3678 RotateTransition rtWobble4 = new RotateTransition(Duration.millis(100), imageView);
3679 rtWobble4.setToAngle(5);
3680 RotateTransition rtWobble5 = new RotateTransition(Duration.millis(100), imageView);
3681 rtWobble5.setToAngle(0);
3683 seqWobble.setCycleCount(Timeline.INDEFINITE);
3685 break;
3686
3687 case "tada":
3688 ScaleTransition stTada = new ScaleTransition(Duration.millis(1000), imageView);
3689 stTada.setToX(1.2);
3690 stTada.setToY(1.2);
3691 stTada.setAutoReverse(true);
3692 RotateTransition rtTada = new RotateTransition(Duration.millis(1000), imageView);
3693 rtTada.setFromAngle(-3);
3694 rtTada.setToAngle(3);
3695 rtTada.setAutoReverse(true);
3696 rtTada.setCycleCount(6);
3698 parTada.setCycleCount(Timeline.INDEFINITE);
3700 break;
3701
3702 case "flash":
3703 FadeTransition ftFlash = new FadeTransition(Duration.millis(500), imageView);
3704 ftFlash.setFromValue(1.0);
3705 ftFlash.setToValue(0.0);
3706 ftFlash.setAutoReverse(true);
3707 ftFlash.setCycleCount(Timeline.INDEFINITE);
3709 break;
3710
3711 case "rubber":
3712 ScaleTransition stRubberX = new ScaleTransition(Duration.millis(1000), imageView);
3713 stRubberX.setFromX(1.0);
3714 stRubberX.setToX(1.25);
3715 stRubberX.setAutoReverse(true);
3716 ScaleTransition stRubberY = new ScaleTransition(Duration.millis(1000), imageView);
3717 stRubberY.setFromY(1.0);
3718 stRubberY.setToY(0.75);
3719 stRubberY.setAutoReverse(true);
3721 parRubber.setCycleCount(Timeline.INDEFINITE);
3723 break;
3724
3725 case "jello":
3726 RotateTransition rtJello = new RotateTransition(Duration.millis(1000), imageView);
3727 rtJello.setFromAngle(-12.5);
3728 rtJello.setToAngle(12.5);
3729 rtJello.setAutoReverse(true);
3730 rtJello.setCycleCount(Timeline.INDEFINITE);
3732 break;
3733
3734 case "neon":
3735 FadeTransition ftNeon = new FadeTransition(Duration.millis(500), imageView);
3736 ftNeon.setFromValue(1.0);
3737 ftNeon.setToValue(0.2);
3738 ftNeon.setAutoReverse(true);
3739 ftNeon.setCycleCount(Timeline.INDEFINITE);
3741 break;
3742
3743 case "float":
3744 TranslateTransition ttFloat = new TranslateTransition(Duration.millis(2000), imageView);
3745 ttFloat.setFromY(0);
3746 ttFloat.setToY(-15);
3747 ttFloat.setAutoReverse(true);
3748 ttFloat.setCycleCount(Timeline.INDEFINITE);
3749 ttFloat.setInterpolator(Interpolator.EASE_BOTH);
3751 break;
3752
3753 case "desaturation":
3754 // La désaturation n'est pas facilement réalisable en JavaFX sans effet CSS
3755 // On fait un effet de fade pour simuler
3756 FadeTransition ftDesat = new FadeTransition(Duration.millis(1000), imageView);
3757 ftDesat.setFromValue(1.0);
3758 ftDesat.setToValue(0.5);
3759 ftDesat.setAutoReverse(true);
3760 ftDesat.setCycleCount(Timeline.INDEFINITE);
3762 break;
3763 }
3764
3765 // Démarrer la nouvelle animation et la stocker
3766 if (nouvelleAnimation != null) {
3767 switch (hotspotType) {
3768 case "pano":
3770 break;
3771 case "photo":
3773 break;
3774 case "html":
3776 break;
3777 }
3778 nouvelleAnimation.play();
3779 }
3780 }
3781
3785 private void afficheBoussole() {
3786 imgAiguille.setVisible(isbAfficheBoussole());
3787 imgBoussole.setVisible(isbAfficheBoussole());
3788
3789 imgAiguille.setFitWidth(getTailleBoussole() / 5);
3790 imgAiguille.setFitHeight(getTailleBoussole());
3791 imgAiguille.setOpacity(getOpaciteBoussole());
3792 imgAiguille.setSmooth(true);
3793
3794 imgBoussole.setImage(new Image("file:" + strRepertBoussoles + File.separator + getStrImageBoussole()));
3795 imgBoussole.setFitWidth(getTailleBoussole());
3796 imgBoussole.setFitHeight(getTailleBoussole());
3797 imgBoussole.setOpacity(getOpaciteBoussole());
3798 imgBoussole.setSmooth(true);
3801 double posX = 0;
3802 double posY = 0;
3803 switch (strPositXBoussole) {
3804 case "left":
3805 posX = ivVisualisation.getLayoutX() + getOffsetXBoussole();
3806 break;
3807 case "right":
3808 posX = ivVisualisation.getLayoutX() + getVisualisationWidth() - getOffsetXBoussole() - imgBoussole.getFitWidth();
3809 break;
3810 }
3811 switch (strPositYBoussole) {
3812 case "bottom":
3813 posY = ivVisualisation.getLayoutY() + getVisualisationHeight() - imgBoussole.getFitHeight() - getOffsetYBoussole();
3814 break;
3815 case "top":
3816 posY = ivVisualisation.getLayoutY() + getOffsetYBoussole();
3817 break;
3818 }
3819 switch (getStrPositionVignettes()) {
3820 case "bottom":
3821 if (strPositYBoussole.equals("bottom")) {
3822 posY = ivVisualisation.getLayoutY() + getVisualisationHeight() - imgBoussole.getFitHeight() - getOffsetYBoussole() - apVisuVignettes.getPrefHeight();
3823 }
3824 break;
3825 case "left":
3826 if (strPositXBoussole.equals("left")) {
3827 posX = ivVisualisation.getLayoutX() + getOffsetXBoussole() + apVisuVignettes.getPrefWidth();
3828 }
3829 break;
3830 case "right":
3831 if (strPositXBoussole.equals("right")) {
3832 posX = ivVisualisation.getLayoutX() + getVisualisationWidth() - getOffsetXBoussole() - imgBoussole.getFitWidth() - apVisuVignettes.getPrefWidth();
3833 }
3834 break;
3835 }
3836 imgBoussole.setLayoutX(posX);
3837 imgBoussole.setLayoutY(posY);
3838 imgAiguille.setLayoutX(posX + (imgBoussole.getFitWidth() - imgAiguille.getFitWidth()) / 2);
3839 imgAiguille.setLayoutY(posY);
3840 imgAiguille.setOpacity(getOpaciteBoussole());
3841 imgAiguille.setVisible(isbAfficheBoussole());
3842
3843 imgBoussole.setOpacity(getOpaciteBoussole());
3844 imgBoussole.setVisible(isbAfficheBoussole());
3845 }
3846
3851 private void afficheImage(int index) {
3852 Image imgAffiche = getPanoramiquesProjet()[index].getImgPanoramique();
3853
3854 // Calculer les dimensions du container
3857
3858 // Calculer le ratio du container et de l'image
3860 double ratioImage = imgAffiche.getWidth() / imgAffiche.getHeight();
3861
3862 // Calculer les dimensions du viewport pour extraire la bonne portion de l'image
3863 double largeurViewport, hauteurViewport, offsetX, offsetY;
3864
3865 if (ratioImage > ratioContainer) {
3866 // Image plus large que le container : on extrait une portion centrée en largeur
3867 hauteurViewport = imgAffiche.getHeight();
3869 offsetX = (imgAffiche.getWidth() - largeurViewport) / 2;
3870 offsetY = 0;
3871 } else {
3872 // Image plus haute que le container : on extrait une portion centrée en hauteur
3873 largeurViewport = imgAffiche.getWidth();
3875 offsetX = 0;
3876 offsetY = (imgAffiche.getHeight() - hauteurViewport) / 2;
3877 }
3878
3879 // Définir le viewport (zone extraite de l'image source)
3881 ivVisualisation.setViewport(r2dVue);
3882 ivVisualisation.setImage(imgAffiche);
3883
3884 // Adapter l'affichage aux dimensions exactes du container
3885 ivVisualisation.setFitWidth(largeurContainer);
3886 ivVisualisation.setFitHeight(hauteurContainer);
3887 ivVisualisation.setPreserveRatio(false); // On gère le ratio via le viewport
3888 }
3889
3893 private void afficheMasque() {
3894 apVisualisation.getChildren().remove(ivMasque);
3895 apVisualisation.getChildren().add(ivMasque);
3896 ivMasque.setVisible(isbAfficheMasque());
3897 ivMasque.setFitWidth(getTailleMasque());
3898 ivMasque.setFitHeight(getTailleMasque());
3899 ivMasque.setOpacity(getOpaciteMasque());
3902 double posX = 0;
3903 double posY = 0;
3904 switch (strPositXMasque) {
3905 case "left":
3906 posX = ivVisualisation.getLayoutX() + getdXMasque();
3907 break;
3908 case "right":
3909 posX = ivVisualisation.getLayoutX() + getVisualisationWidth() - getdXMasque() - ivMasque.getFitWidth();
3910 break;
3911 }
3912 switch (strPositYMasque) {
3913 case "bottom":
3914 posY = ivVisualisation.getLayoutY() + getVisualisationHeight() - ivMasque.getFitHeight() - getdYMasque();
3915 break;
3916 case "top":
3917 posY = ivVisualisation.getLayoutY() + getdYMasque();
3918 break;
3919 }
3920 ivMasque.setLayoutX(posX);
3921 ivMasque.setLayoutY(posY);
3922 }
3923
3927 private void afficheReseauxSociaux() {
3928 ivTwitter.setVisible(isbAfficheReseauxSociaux());
3929 ivMeta.setVisible(isbAfficheReseauxSociaux());
3930 ivEmail.setVisible(isbAfficheReseauxSociaux());
3931 ivTwitter.setFitWidth(getTailleReseauxSociaux());
3932 ivTwitter.setFitHeight(getTailleReseauxSociaux());
3933 ivTwitter.setOpacity(getOpaciteReseauxSociaux());
3934 ivTwitter.setSmooth(true);
3935 ivTwitter.setVisible(false);
3936 ivMeta.setFitWidth(getTailleReseauxSociaux());
3937 ivMeta.setFitHeight(getTailleReseauxSociaux());
3938 ivMeta.setOpacity(getOpaciteReseauxSociaux());
3939 ivMeta.setSmooth(true);
3940 ivMeta.setVisible(false);
3941 ivEmail.setFitWidth(getTailleReseauxSociaux());
3942 ivEmail.setFitHeight(getTailleReseauxSociaux());
3943 ivEmail.setOpacity(getOpaciteReseauxSociaux());
3944 ivEmail.setSmooth(true);
3945 ivEmail.setVisible(false);
3948 double posX;
3949 double posY = 0;
3950 double dX;
3951 switch (strPositXReseauxSociaux) {
3952 case "left":
3953 posX = ivVisualisation.getLayoutX() + getdXReseauxSociaux();
3954 dX = ivEmail.getFitWidth() + 5;
3956 ivTwitter.setLayoutX(posX);
3957 ivTwitter.setVisible(true);
3958 posX += dX;
3959
3960 }
3962 ivMeta.setLayoutX(posX);
3963 ivMeta.setVisible(true);
3964 posX += dX;
3965 }
3967 ivEmail.setLayoutX(posX);
3968 ivEmail.setVisible(true);
3969 posX += dX;
3970 }
3971
3972 break;
3973 case "right":
3974 posX = ivVisualisation.getLayoutX() + getVisualisationWidth() - getdXReseauxSociaux() - ivEmail.getFitWidth();
3975 dX = -(ivEmail.getFitWidth() + 5);
3977 ivEmail.setLayoutX(posX);
3978 ivEmail.setVisible(true);
3979 posX += dX;
3980 }
3982 ivMeta.setLayoutX(posX);
3983 ivMeta.setVisible(true);
3984 posX += dX;
3985 }
3987 ivTwitter.setLayoutX(posX);
3988 ivTwitter.setVisible(true);
3989 posX += dX;
3990 }
3991 break;
3992 }
3993 switch (strPositYReseauxSociaux) {
3994 case "bottom":
3995 posY = ivVisualisation.getLayoutY() + getVisualisationHeight() - ivEmail.getFitHeight() - getdYReseauxSociaux();
3996 break;
3997 case "top":
3998 posY = ivVisualisation.getLayoutY() + getdYReseauxSociaux();
3999 break;
4000 }
4001 ivTwitter.setLayoutY(posY);
4002 ivMeta.setLayoutY(posY);
4003 ivEmail.setLayoutY(posY);
4004 }
4005
4018 public void afficheFenetreInfo() {
4019 if (bAfficheFenetreInfo) {
4020 apFenetreAfficheInfo.setVisible(true);
4021 lblFenetreURL.setVisible(true);
4022 apFenetreAfficheInfo.getChildren().clear();
4025 double largeurInfo = imgFenetreInfo.getWidth();
4026 double hauteurInfo = imgFenetreInfo.getHeight();
4028 ivFenetreInfo.setFitWidth(largeurInfo * getFenetreInfoTaille() / 100);
4029 ivFenetreInfo.setFitHeight(hauteurInfo * getFenetreInfoTaille() / 100);
4030 ivFenetreInfo.setPreserveRatio(true);
4032 Font fonte1 = new Font("Arial", 12);
4033 apFenetreAfficheInfo.setLayoutX((getVisualisationWidth() - ivFenetreInfo.getFitWidth()) / 2 + getFenetreInfoPosX() + ivVisualisation.getLayoutX());
4034 apFenetreAfficheInfo.setLayoutY((getVisualisationHeight() - ivFenetreInfo.getFitHeight()) / 2 + getFenetreInfoPosY() + ivVisualisation.getLayoutY());
4036 lblFenetreURL.applyCss(); // Remplace impl_processCSS(true) depuis JavaFX 9+
4037 lblFenetreURL.setStyle("-fx-font-size:" + Math.round(getFenetrePoliceTaille() * 10) / 10 + "px;-fx-font-family: \"Arial\";");
4038 lblFenetreURL.setTextFill(Color.valueOf(getStrFenetreURLCouleur()));
4039 apFenetreAfficheInfo.getChildren().addAll(ivFenetreInfo);
4040 double URLPosX = (getVisualisationWidth() - lblFenetreURL.prefWidth(-1)) / 2 + getFenetreURLPosX() + ivVisualisation.getLayoutX();
4041 double URLPosY = (getVisualisationHeight() - lblFenetreURL.prefHeight(-1)) / 2 + getFenetreURLPosY() + ivVisualisation.getLayoutY();
4042 lblFenetreURL.relocate(URLPosX, URLPosY);
4043 } else {
4044 Image imgFenetreInfo = new Image("file:" + getStrRepertAppli() + File.separator + "images" + File.separator + "infoDefaut.jpg");
4046 ivFenetreInfo.setOpacity(0.8);
4047 apFenetreAfficheInfo.getChildren().add(ivFenetreInfo);
4048 double largeurInfo = imgFenetreInfo.getWidth();
4049 double hauteurInfo = imgFenetreInfo.getHeight();
4050 apFenetreAfficheInfo.setLayoutX((getVisualisationWidth() - largeurInfo) / 2 + ivVisualisation.getLayoutX());
4051 apFenetreAfficheInfo.setLayoutY((getVisualisationHeight() - hauteurInfo) / 2 + ivVisualisation.getLayoutY());
4052 }
4053 } else {
4054 apFenetreAfficheInfo.setVisible(false);
4055 lblFenetreURL.setVisible(false);
4056 }
4057 }
4058
4070 public void afficheFenetreAide() {
4071 if (bAfficheFenetreAide) {
4072 apFenetreAfficheInfo.setVisible(true);
4073 apFenetreAfficheInfo.getChildren().clear();
4076 double largeurAide = imgFenetreAide.getWidth();
4077 double hauteurAide = imgFenetreAide.getHeight();
4079 ivFenetreAide.setFitWidth(largeurAide * getFenetreAideTaille() / 100);
4080 ivFenetreAide.setFitHeight(hauteurAide * getFenetreAideTaille() / 100);
4081 ivFenetreAide.setPreserveRatio(true);
4083 apFenetreAfficheInfo.getChildren().add(ivFenetreAide);
4084 apFenetreAfficheInfo.setLayoutX((getVisualisationWidth() - ivFenetreAide.getFitWidth()) / 2 + getFenetreAidePosX() + ivVisualisation.getLayoutX());
4085 apFenetreAfficheInfo.setLayoutY((getVisualisationHeight() - ivFenetreAide.getFitHeight()) / 2 + getFenetreAidePosY() + ivVisualisation.getLayoutY());
4086
4087 } else {
4088 Image imgFenetreInfo = new Image("file:" + getStrRepertAppli() + File.separator + "images/aideDefaut.jpg");
4090 ivFenetreInfo.setOpacity(0.8);
4091 apFenetreAfficheInfo.getChildren().add(ivFenetreInfo);
4092 double largeurInfo = imgFenetreInfo.getWidth();
4093 double hauteurInfo = imgFenetreInfo.getHeight();
4094 apFenetreAfficheInfo.setLayoutX((getVisualisationWidth() - largeurInfo) / 2 + ivVisualisation.getLayoutX());
4095 apFenetreAfficheInfo.setLayoutY((getVisualisationHeight() - hauteurInfo) / 2 + ivVisualisation.getLayoutY());
4096 }
4097 } else {
4098 apFenetreAfficheInfo.setVisible(false);
4099 }
4100
4101 }
4102
4108 System.out.println("═════════════════════════════════════════════");
4109 System.out.println("🗺️ DÉBUT miseAJourMarqueursEtRadarCarte()");
4110 System.out.println(" navigateurCarteOL = " + navigateurCarteOL);
4111 System.out.println(" isbDebut() = " + (navigateurCarteOL != null ? navigateurCarteOL.isbDebut() : "null"));
4112 System.out.println(" Nombre de panoramiques = " + getiNombrePanoramiques());
4113
4114 if (navigateurCarteOL == null || !navigateurCarteOL.isbDebut()) {
4115 System.err.println("⚠️ NavigateurCarte pas prêt pour la mise à jour");
4116 System.out.println("═════════════════════════════════════════════");
4117 return;
4118 }
4119
4120 // Vérifier que l'objet JavaScript 'map' est bien initialisé
4121 try {
4123 "(function() { return typeof map !== 'undefined' && map !== null; })()"
4124 );
4125 System.out.println(" 🗺️ JavaScript map exists: " + mapExists);
4126
4127 if (mapExists == null || !(Boolean) mapExists) {
4128 System.err.println("⚠️ L'objet JavaScript 'map' n'est pas encore initialisé, nouvelle tentative dans 500ms...");
4129 // Réessayer après un court délai
4130 javafx.application.Platform.runLater(() -> {
4131 try {
4132 Thread.sleep(500);
4134 } catch (InterruptedException e) {
4135 e.printStackTrace();
4136 }
4137 });
4138 return;
4139 }
4140 } catch (Exception e) {
4141 System.err.println("❌ Erreur lors de la vérification de l'objet map: " + e.getMessage());
4142 return;
4143 }
4144
4145 System.out.println("🗺️ Mise à jour des marqueurs et radar sur la carte");
4146
4147 try {
4148 // Retirer tous les marqueurs existants
4150 boolean hasMarkers = false;
4151
4152 // Ajouter les marqueurs pour tous les panoramiques géolocalisés
4153 for (int ii = 0; ii < getiNombrePanoramiques(); ii++) {
4154 CoordonneesGeographiques coord = getPanoramiquesProjet()[ii].getMarqueurGeolocatisation();
4155 if (coord != null) {
4156 String strFichierPano = getPanoramiquesProjet()[ii]
4157 .getStrNomFichier().substring(getPanoramiquesProjet()[ii].getStrNomFichier()
4158 .lastIndexOf(File.separator) + 1, getPanoramiquesProjet()[ii]
4159 .getStrNomFichier().length()).split("\\.")[0];
4160 String strHTML = "<span style='font-family : Verdana,Arial,sans-serif;font-weight:bold;font-size : 12px;'>"
4161 + getPanoramiquesProjet()[ii].getStrTitrePanoramique()
4162 + "</span><br/>"
4163 + "<span style='font-family : Verdana,Arial,sans-serif;bold;font-size : 10px;'>"
4165 + "</span>";
4166 strHTML = strHTML.replace("\\", "/");
4168 hasMarkers = true;
4169 }
4170 }
4171
4172 // Centrer sur le centre de carte configuré ou sur le premier marqueur
4173 if (getCoordCentreCarte() != null) {
4175 } else if (hasMarkers && getiNombrePanoramiques() > 0) {
4176 // Centrer sur le premier panoramique qui a des coordonnées
4177 for (int ii = 0; ii < getiNombrePanoramiques(); ii++) {
4178 CoordonneesGeographiques coord = getPanoramiquesProjet()[ii].getMarqueurGeolocatisation();
4179 if (coord != null) {
4181 break;
4182 }
4183 }
4184 }
4185
4186 System.out.println("✅ Marqueurs ajoutés et carte centrée");
4187
4188 // Afficher le radar si nécessaire
4189 if (bAfficheRadarCarte) {
4191 if (getCoordCentreCarte() != null) {
4193 } else {
4195 }
4196
4197 if (getiNombrePanoramiques() > 0) {
4198 if (getPanoramiquesProjet()[getiPanoActuel()].getMarqueurGeolocatisation() != null) {
4199 coords = getPanoramiquesProjet()[getiPanoActuel()].getMarqueurGeolocatisation();
4200 }
4201 }
4202
4204 coords,
4211 );
4212 System.out.println("✅ Radar affiché");
4213 }
4214
4215 System.out.println("✅ Mise à jour de la carte terminée");
4216
4217 } catch (Exception e) {
4218 System.err.println("❌ Erreur lors de la mise à jour de la carte: " + e.getMessage());
4219 e.printStackTrace();
4220 }
4221 }
4222
4226 private void miseAJourRadarSeul() {
4227 if (navigateurCarteOL == null || !navigateurCarteOL.isbDebut()) {
4228 return;
4229 }
4230
4231 if (!bAfficheRadarCarte) {
4232 // Si radar désactivé, le retirer
4234 return;
4235 }
4236
4237 try {
4238 // Déterminer les coordonnées du radar
4240 if (getCoordCentreCarte() != null) {
4242 } else {
4244 }
4245
4246 if (getiNombrePanoramiques() > 0) {
4247 if (getPanoramiquesProjet()[getiPanoActuel()].getMarqueurGeolocatisation() != null) {
4248 coords = getPanoramiquesProjet()[getiPanoActuel()].getMarqueurGeolocatisation();
4249 }
4250 }
4251
4252 // Afficher le radar avec les nouveaux paramètres
4254 coords,
4261 );
4262 } catch (Exception e) {
4263 System.err.println("❌ Erreur lors de la mise à jour du radar: " + e.getMessage());
4264 }
4265 }
4266
4282 public void afficheCarte() {
4283 apVisuCarte.getChildren().clear();
4284 if (isbAfficheCarte()) {
4285 boolean isNewNavigateur = (navigateurCarteOL == null);
4286
4287 // Initialiser navigateurCarteOL si nécessaire
4288 if (isNewNavigateur && isbInternet()) {
4289 System.out.println("🆕 Création d'un nouveau NavigateurCarte");
4292
4293 // Définir un callback pour ajouter les marqueurs APRÈS le chargement de la carte
4295 System.out.println("🎯 Callback onMapReady: Mise à jour de la carte");
4296 try {
4297 // Attendre que JavaScript ait le temps d'initialiser la carte Leaflet
4298 Thread.sleep(1000);
4301 } catch (InterruptedException e) {
4302 e.printStackTrace();
4303 }
4304 });
4305 } else if (!isNewNavigateur && navigateurCarteOL != null) {
4306 // Si la carte existe déjà, mettre à jour si elle est prête
4308 System.out.println("🔄 NavigateurCarte existe déjà (instance: " + navigateurCarteOL.hashCode() + ")");
4309 System.out.println(" Carte prête? " + isReady);
4310
4311 if (isReady) {
4312 // Carte prête, mise à jour immédiate
4313 javafx.application.Platform.runLater(() -> {
4314 try {
4315 Thread.sleep(100);
4317 } catch (InterruptedException e) {
4318 e.printStackTrace();
4319 }
4320 });
4321 } else if (!carteEnCoursDeChargement) {
4322 // Carte pas encore prête ET aucun callback en attente, configurer le callback UNE SEULE FOIS
4323 System.out.println(" ⏳ Carte pas encore chargée, configuration du callback");
4326 System.out.println("🎯 Callback onMapReady (re-enregistré): Mise à jour de la carte");
4327 try {
4328 Thread.sleep(1000);
4331 } catch (InterruptedException e) {
4332 e.printStackTrace();
4333 }
4334 });
4335 } else {
4336 // Callback déjà en attente, ne rien faire
4337 System.out.println(" ⏸️ Callback déjà en attente, pas de re-configuration");
4338 }
4339 } else if (!isbInternet()) {
4340 System.out.println("⚠️ Pas de connexion Internet - carte désactivée");
4341 }
4342 Label lblTitreCarte = new Label("Carte");
4343 lblTitreCarte.setPrefSize(160, 30);
4344 lblTitreCarte.setAlignment(Pos.CENTER);
4345 lblTitreCarte.setTranslateX(-lblTitreCarte.getPrefWidth() / 2 + lblTitreCarte.getPrefHeight() / 2);
4346 lblTitreCarte.setTranslateY(lblTitreCarte.getPrefWidth() / 2 - lblTitreCarte.getPrefHeight() / 2);
4347 double marge = 10.d;
4349
4350 // Si pas d'Internet, créer une image de fallback au lieu de la carte
4351 if (!isbInternet() || navigateurCarteOL == null) {
4352 // Image de fallback avec texte explicatif
4354 fallbackRect.setFill(Color.web("#e0e0e0"));
4355 fallbackRect.setStroke(Color.web("#999999"));
4356 fallbackRect.setStrokeWidth(2);
4357
4358 Label lblFallback = new Label("Carte non disponible\n(Pas de connexion Internet)\n\nLes dimensions et l'apparence\npeuvent être configurées");
4359 lblFallback.setAlignment(Pos.CENTER);
4360 lblFallback.setTextAlignment(TextAlignment.CENTER);
4361 lblFallback.setStyle("-fx-font-size: 14px; -fx-text-fill: #666666;");
4363 lblFallback.setLayoutX(marge);
4364 lblFallback.setLayoutY(marge);
4365
4366 fallbackRect.setLayoutX(marge);
4367 fallbackRect.setLayoutY(marge);
4368
4369 apVisuCarte2.getChildren().addAll(fallbackRect, lblFallback);
4370 } else {
4371 // Carte normale avec Internet
4372 apVisuCarte2.getChildren().add(navigateurCarteOL);
4376 navigateurCarteOL.setLayoutX(marge);
4377 navigateurCarteOL.setLayoutY(marge);
4378
4379 // Forcer le recalcul de la taille de la carte Leaflet après un court délai
4380 // pour s'assurer que le DOM est prêt
4381 javafx.application.Platform.runLater(() -> {
4382 try {
4383 Thread.sleep(200); // Attendre que la carte soit chargée
4385 } catch (InterruptedException e) {
4386 e.printStackTrace();
4387 }
4388 });
4389 }
4390
4391 apVisuCarte2.setPrefSize(largeurCarte + marge * 2, hauteurCarte + marge * 2);
4392 apVisuCarte.setPrefSize(largeurCarte + marge * 2 + 30, hauteurCarte + marge * 2);
4393 apVisuCarte2.setMinSize(largeurCarte + marge * 2, hauteurCarte + marge * 2);
4394 apVisuCarte2.setMaxSize(largeurCarte + marge * 2, hauteurCarte + marge * 2);
4395 int rouge, vert, bleu;
4396 rouge = (int) Math.round(getCouleurFondCarte().getRed() * 255);
4397 vert = (int) Math.round(getCouleurFondCarte().getGreen() * 255);
4398 bleu = (int) Math.round(getCouleurFondCarte().getBlue() * 255);
4399
4400 apVisuCarte2.setStyle("-fx-background-color : rgba(" + rouge + "," + vert + "," + bleu + "," + getOpaciteCarte() + ");");
4401 double positionX = 0;
4402 double positionY;
4403 if (isbAfficheTitre()) {
4404 if (lblTxtTitre2.isVisible()) {
4405 positionY = ivVisualisation.getLayoutY() + lblTxtTitre.getHeight() + lblTxtTitre2.getHeight();
4406 } else {
4407 positionY = ivVisualisation.getLayoutY() + lblTxtTitre.getHeight();
4408 }
4409 } else {
4410 positionY = ivVisualisation.getLayoutY();
4411 }
4412 lblTitreCarte.setStyle("-fx-text-fill : #" + couleurTexteCarte.toString().substring(2, 8) + ";-fx-background-color : rgba(" + rouge + "," + vert + "," + bleu + "," + getOpaciteCarte() + ");-fx-background-radius : 0 0 5 5;-fx-font-family : Verdana,Arial,sans-serif;");
4413 //lblTitreCarte.setTextFill(couleurTexteCarte);
4414 switch (getStrPositionCarte()) {
4415 case "left":
4416 positionX = ivVisualisation.getLayoutX();
4417 lblTitreCarte.setLayoutX(apVisuCarte2.getPrefWidth());
4418 lblTitreCarte.setRotate(270);
4419 break;
4420 case "right":
4421 positionX = ivVisualisation.getLayoutX() + getVisualisationWidth() - apVisuCarte.getPrefWidth();
4422 lblTitreCarte.setRotate(90);
4423 lblTitreCarte.setLayoutX(0);
4424 apVisuCarte2.setLayoutX(30);
4425 break;
4426 }
4427 apVisuCarte.setLayoutX(positionX);
4428 apVisuCarte.setLayoutY(positionY);
4429 // Note: L'affichage des marqueurs et du radar est maintenant géré par miseAJourMarqueursEtRadarCarte()
4430 // qui est appelée soit dans le callback onMapReady (nouvelle carte), soit directement (carte existante)
4431 apVisuCarte.getChildren().addAll(apVisuCarte2, lblTitreCarte);
4432
4433 }
4434 apVisuCarte.setVisible(isbAfficheCarte());
4435 }
4436
4453 public void affichePlan() {
4454 apVisuPlan.getChildren().clear();
4455 if (isbAffichePlan()) {
4456 Label lblTitrePlan = new Label("Plan");
4457 lblTitrePlan.setPrefSize(160, 30);
4458 lblTitrePlan.setAlignment(Pos.CENTER);
4459 lblTitrePlan.setTranslateX(-lblTitrePlan.getPrefWidth() / 2 + lblTitrePlan.getPrefHeight() / 2);
4460 lblTitrePlan.setTranslateY(lblTitrePlan.getPrefWidth() / 2 - lblTitrePlan.getPrefHeight() / 2);
4462
4463 double marge = 10.d;
4464 ImageView ivHSPlanActif = new ImageView(new Image("file:" + getStrRepertAppli() + "/theme/plan/pointActif.png", 12, 12, true, true));
4465 ImageView ivHSPlan = new ImageView(new Image("file:" + getStrRepertAppli() + "/theme/plan/point.png", 12, 12, true, true));
4466 Image imgPlan;
4467 if (getiNombrePlans() > 0) {
4468 String strFichier = getStrRepertTemp() + "/images/" + getPlans()[getGestionnairePlan().getiPlanActuel()].getStrImagePlan();
4469 imgPlan = new Image(
4470 "file:" + strFichier, getLargeurPlan(), -1, true, true
4471 );
4472 } else {
4473 imgPlan = new Image(
4474 "file:" + getStrRepertAppli() + "/theme/plan/planDefaut.jpg", getLargeurPlan(), -1, true, true
4475 );
4476
4477 }
4478 ImageView ivImgPlan = new ImageView(imgPlan);
4479 apVisuPlan.setPrefSize(imgPlan.getWidth() + marge * 2 + 30, imgPlan.getHeight() + marge * 2);
4480 apVisuPlan.setMaxSize(imgPlan.getWidth() + marge * 2 + 30, imgPlan.getHeight() + marge * 2);
4481 apVisuPlan.setMinSize(imgPlan.getWidth() + marge * 2 + 30, imgPlan.getHeight() + marge * 2);
4482 apVisuPlan2.setPrefSize(imgPlan.getWidth() + marge * 2, imgPlan.getHeight() + marge * 2);
4483 apVisuPlan2.setMinSize(imgPlan.getWidth() + marge * 2, imgPlan.getHeight() + marge * 2);
4484 apVisuPlan2.setMaxSize(imgPlan.getWidth() + marge * 2, imgPlan.getHeight() + marge * 2);
4485 int rouge, vert, bleu;
4486 rouge = (int) Math.round(getCouleurFondPlan().getRed() * 255);
4487 vert = (int) Math.round(getCouleurFondPlan().getGreen() * 255);
4488 bleu = (int) Math.round(getCouleurFondPlan().getBlue() * 255);
4489
4490 apVisuPlan2.setStyle("-fx-background-color : rgba(" + rouge + "," + vert + "," + bleu + "," + getOpacitePlan() + ");");
4491 ivImgPlan.setLayoutX(marge);
4492 ivImgPlan.setLayoutY(marge);
4493 apVisuPlan2.getChildren().addAll(ivImgPlan, ivHSPlan);
4494 lblTitrePlan.setStyle("-fx-text-fill : #" + couleurTextePlan.toString().substring(2, 8) + ";-fx-background-color : rgba(" + rouge + "," + vert + "," + bleu + "," + getOpaciteCarte() + ");-fx-background-radius : 0 0 5 5;-fx-font-family : Verdana,Arial,sans-serif;");
4495 double positionX = 0;
4496 double positionY;
4497 if (isbAfficheTitre()) {
4498 if (lblTxtTitre2.isVisible()) {
4499 positionY = ivVisualisation.getLayoutY() + lblTxtTitre.getHeight() + lblTxtTitre2.getHeight();
4500 } else {
4501 positionY = ivVisualisation.getLayoutY() + lblTxtTitre.getHeight();
4502 }
4503 } else {
4504 positionY = ivVisualisation.getLayoutY();
4505 }
4506 switch (getStrPositionPlan()) {
4507 case "left":
4508 positionX = ivVisualisation.getLayoutX();
4509 lblTitrePlan.setLayoutX(apVisuPlan2.getPrefWidth());
4510 lblTitrePlan.setRotate(270);
4511 break;
4512 case "right":
4513 positionX = ivVisualisation.getLayoutX() + getVisualisationWidth() - apVisuPlan.getPrefWidth();
4514 lblTitrePlan.setRotate(90);
4515 lblTitrePlan.setLayoutX(0);
4516 apVisuPlan2.setLayoutX(30);
4517 break;
4518 }
4519 apVisuPlan.setLayoutX(positionX);
4520 apVisuPlan.setLayoutY(positionY);
4521
4522 ivHSPlan.setLayoutX(80);
4523 ivHSPlan.setLayoutY(40);
4524 ivHSPlanActif.setLayoutX(30);
4525 ivHSPlanActif.setLayoutY(90);
4526 if (isbAfficheRadar()) {
4527 Arc arcRadar = new Arc(36, 96, getTailleRadar(), getTailleRadar(), -55, 70);
4528 arcRadar.setType(ArcType.ROUND);
4529 arcRadar.setFill(getCouleurFondRadar());
4530 arcRadar.setStroke(getCouleurLigneRadar());
4531 arcRadar.setOpacity(getOpaciteRadar());
4532 apVisuPlan2.getChildren().addAll(arcRadar, ivHSPlanActif);
4533 } else {
4534 apVisuPlan2.getChildren().add(ivHSPlanActif);
4535 }
4536 if (getiNombrePlans() > 0) {
4537
4538 String strRepertImagePlan = getStrRepertAppli() + File.separator + "theme/plan";
4539 String strImageBoussole1 = "file:" + strRepertImagePlan + "/aiguillePlan.png";
4541 ImageView ivNord = new ImageView(imgBoussole1);
4542
4543 String strPositX = getPlans()[getGestionnairePlan().getiPlanActuel()].getStrPosition().split(":")[1];
4544 String strPositY = getPlans()[getGestionnairePlan().getiPlanActuel()].getStrPosition().split(":")[0];
4545 positionX = 0;
4546 positionY = 0;
4547 switch (strPositX) {
4548 case "left":
4549 positionX = ivImgPlan.getLayoutX() + getPlans()[getGestionnairePlan().getiPlanActuel()].getPositionX();
4550 break;
4551 case "right":
4552 positionX = ivImgPlan.getLayoutX() + imgPlan.getWidth() - imgBoussole1.getWidth() - getPlans()[getGestionnairePlan().getiPlanActuel()].getPositionX();
4553 break;
4554 }
4555 switch (strPositY) {
4556 case "top":
4557 positionY = ivImgPlan.getLayoutY() + getPlans()[getGestionnairePlan().getiPlanActuel()].getPositionY();
4558 break;
4559 case "bottom":
4560 positionY = ivImgPlan.getLayoutY() + imgPlan.getHeight() - imgBoussole1.getHeight() - getPlans()[getGestionnairePlan().getiPlanActuel()].getPositionY();
4561 break;
4562 }
4563 ivNord.setLayoutX(positionX);
4564 ivNord.setLayoutY(positionY);
4565 ivNord.setRotate(getPlans()[getGestionnairePlan().getiPlanActuel()].getDirectionNord());
4566 apVisuPlan2.getChildren().add(ivNord);
4567 }
4568 apVisuPlan.getChildren().addAll(apVisuPlan2, lblTitrePlan);
4569 }
4570 apVisuPlan.setVisible(isbAffichePlan());
4571
4572 }
4573
4592 apVisualisation.getChildren().remove(apVisuBoutonVisiteAuto);
4593 apVisuBoutonVisiteAuto.getChildren().clear();
4594 apVisualisation.getChildren().add(apVisuBoutonVisiteAuto);
4595 if (isbAfficheBoutonVisiteAuto() && isbAutoTourDemarre()) {
4596 apVisuBoutonVisiteAuto.setVisible(true);
4597 apVisuBoutonVisiteAuto.getChildren().add(ivBtnVisiteAuto);
4601 double posX = 0, posY = 0;
4603 case "left":
4605 break;
4606 case "center":
4608 break;
4609 case "right":
4611 break;
4612 }
4614 case "top":
4616 break;
4617 case "bottom":
4619 break;
4620 }
4621 apVisuBoutonVisiteAuto.setLayoutX(posX);
4622 apVisuBoutonVisiteAuto.setLayoutY(posY);
4623
4624 }
4625
4626 }
4627
4631 private void afficheComboMenu() {
4632 apVisuComboMenu.getChildren().clear();
4633 if (isbAfficheComboMenu()) {
4634 apVisuComboMenu.setPrefWidth(302);
4635 apVisuComboMenu.setPrefHeight(50);
4638 ivImageMenu = new ImageView(new Image("file:" + getStrRepertAppli() + "/images/menuAvecImage.jpg"));
4639 } else {
4640 ivImageMenu = new ImageView(new Image("file:" + getStrRepertAppli() + "/images/menuSansImage.jpg"));
4641 }
4642 apVisuComboMenu.getChildren().add(ivImageMenu);
4643 double posX = 0, posY = 0;
4644 switch (getStrPositionXComboMenu()) {
4645 case "left":
4646 posX = ivVisualisation.getLayoutX() + getOffsetXComboMenu();
4647 break;
4648 case "center":
4649 posX = ivVisualisation.getLayoutX() + (getVisualisationWidth() - apVisuComboMenu.getPrefWidth()) / 2 + getOffsetXComboMenu();
4650 break;
4651 case "right":
4652 posX = ivVisualisation.getLayoutX() + getVisualisationWidth() - apVisuComboMenu.getPrefWidth() - getOffsetXComboMenu();
4653 break;
4654 }
4655 switch (getStrPositionYComboMenu()) {
4656 case "top":
4657 posY = ivVisualisation.getLayoutY() + getOffsetYComboMenu();
4658 break;
4659 case "bottom":
4660 posY = ivVisualisation.getLayoutY() + getVisualisationHeight() - apVisuComboMenu.getPrefHeight() - getOffsetYComboMenu();
4661 break;
4662 }
4663 apVisuComboMenu.setLayoutX(posX);
4664 apVisuComboMenu.setLayoutY(posY);
4665 }
4666 }
4667
4671 private void afficheTitre() {
4673 lblTxtTitre.setFont(fonte1);
4674 lblTxtTitre.setPrefHeight(-1);
4675
4676 fonte1 = Font.font(getStrTitrePoliceNom(), Double.parseDouble(getStrTitrePoliceTaille()) * 3.d / 4.d);
4677 lblTxtTitre2.setFont(fonte1);
4678 lblTxtTitre2.setPrefHeight(-1);
4679 lblTxtTitre.setPadding(new Insets(5, 5, 5, 5));
4680 lblTxtTitre2.setPadding(new Insets(5, 5, 5, 5));
4681
4682 Color coul1 = cpCouleurFondTitre.getValue();
4683 double iRouge1 = (int) (coul1.getRed() * 255.d);
4684 double iBleu1 = (int) (coul1.getBlue() * 255.d);
4685 double iVert1 = (int) (coul1.getGreen() * 255.d);
4686 String strCoulFond1 = "rgba(" + iRouge1 + "," + iVert1 + "," + iBleu1 + "," + getTitreOpacite() + ")";
4687 lblTxtTitre.setStyle("-fx-text-fill : " + getStrCouleurTitre() + ";-fx-background-color : " + strCoulFond1);
4688 //lblTxtTitre.setTextFill(Color.valueOf(getStrCouleurTitre()));
4689 lblTxtTitre2.setStyle("-fx-text-fill : " + getStrCouleurTitre() + ";-fx-background-color : " + strCoulFond1);
4690 //lblTxtTitre2.setTextFill(Color.valueOf(getStrCouleurTitre()));
4691 if (isbTitreVisite()) {
4692 lblTxtTitre.setText(rbLocalisation.getString("main.titreVisite"));
4693 } else {
4694 lblTxtTitre.setText(rbLocalisation.getString("main.titrePano"));
4695 }
4696 if (!isbTitreVisite() && !isbTitrePanoramique()) {
4697 lblTxtTitre.setVisible(false);
4698 }
4700 lblTxtTitre2.setVisible(true);
4701 lblTxtTitre2.setLayoutY(lblTxtTitre.getLayoutY() + lblTxtTitre.getHeight());
4702 lblTxtTitre2.setLayoutX(lblTxtTitre.getLayoutX());
4703 lblTxtTitre2.setPrefHeight(-1);
4704 } else {
4705 lblTxtTitre2.setVisible(false);
4706 lblTxtTitre2.setPrefHeight(0);
4707 }
4708 double tailleTitre = 0;
4709 if (!bTitreAdapte) {
4710 double taille = (double) getTitreTaille() / 100.d * getVisualisationWidth();
4711 lblTxtTitre.setPrefWidth(taille);
4712 lblTxtTitre.setMinWidth(taille);
4713 lblTxtTitre2.setPrefWidth(taille);
4714 } else {
4715 double tailleTitre2 = 0;
4716 tailleTitre = TextUtils.computeTextWidth(lblTxtTitre.getFont(), lblTxtTitre.getText(), 0.0D) + 15;
4717
4718 if (lblTxtTitre2.isVisible()) {
4719 tailleTitre2 = TextUtils.computeTextWidth(lblTxtTitre.getFont(), lblTxtTitre.getText(), 0.0D) + 15;
4720 }
4721 if (tailleTitre2 > tailleTitre) {
4723 }
4725 lblTxtTitre.setPrefWidth(tailleTitre);
4726 lblTxtTitre2.setPrefWidth(tailleTitre);
4727 lblTxtTitre.setMinWidth(0);
4728 }
4729 switch (getStrTitrePosition()) {
4730 case "left":
4731 lblTxtTitre.setAlignment(Pos.CENTER_LEFT);
4732 lblTxtTitre2.setAlignment(Pos.CENTER_LEFT);
4733
4734 lblTxtTitre.setLayoutX(ivVisualisation.getLayoutX());
4735 lblTxtTitre2.setLayoutX(ivVisualisation.getLayoutX());
4736
4737 lblTxtTitre.setPadding(new Insets(5, 5, 5, getTitreDecalage()));
4738 lblTxtTitre2.setPadding(new Insets(5, 5, 5, getTitreDecalage()));
4739 break;
4740 case "center":
4741 lblTxtTitre.setAlignment(Pos.CENTER);
4742
4743 lblTxtTitre.setLayoutX(ivVisualisation.getLayoutX() + (getVisualisationWidth() - lblTxtTitre.getPrefWidth()) / 2);
4744 lblTxtTitre2.setLayoutX(ivVisualisation.getLayoutX() + (getVisualisationWidth() - lblTxtTitre2.getPrefWidth()) / 2);
4745 lblTxtTitre2.setAlignment(Pos.CENTER);
4746 break;
4747 case "right":
4748 lblTxtTitre.setAlignment(Pos.CENTER_RIGHT);
4749 lblTxtTitre.setLayoutX(ivVisualisation.getLayoutX() + (getVisualisationWidth() - lblTxtTitre.getPrefWidth()));
4750 lblTxtTitre2.setLayoutX(ivVisualisation.getLayoutX() + (getVisualisationWidth() - lblTxtTitre.getPrefWidth()));
4751 lblTxtTitre.setPadding(new Insets(5, getTitreDecalage(), 5, 5));
4752 lblTxtTitre2.setPadding(new Insets(5, getTitreDecalage(), 5, 5));
4753 lblTxtTitre2.setAlignment(Pos.CENTER_RIGHT);
4754 break;
4755 }
4757 affichePlan();
4758 afficheCarte();
4759 }
4760
4764 private void afficheVignettes() {
4765 paneFondPrecedent.setLayoutX(ivVisualisation.getLayoutX());
4766 paneFondSuivant.setLayoutX(ivVisualisation.getLayoutX() + (getVisualisationWidth() - paneFondPrecedent.getPrefWidth()));
4769 double LX = 0;
4770 double LY = 0;
4771 switch (strPositVert) {
4772 case "top":
4773 LY = ivVisualisation.getLayoutY() + getOffsetYBarreClassique();
4774 break;
4775 case "bottom":
4776 LY = ivVisualisation.getLayoutY() + getVisualisationHeight() - hbbarreBoutons.getPrefHeight() - getOffsetYBarreClassique();
4777 break;
4778 case "middle":
4779 LY = ivVisualisation.getLayoutY() + (getVisualisationHeight() - hbbarreBoutons.getPrefHeight()) / 2.d - getOffsetYBarreClassique();
4780 break;
4781 }
4782
4783 switch (strPositHor) {
4784 case "right":
4785 LX = ivVisualisation.getLayoutX() + getVisualisationWidth() - hbbarreBoutons.getPrefWidth() - getOffsetXBarreClassique();
4786 break;
4787 case "left":
4788 LX = ivVisualisation.getLayoutX() + getOffsetXBarreClassique();
4789 break;
4790 case "center":
4791 LX = ivVisualisation.getLayoutX() + (getVisualisationWidth() - hbbarreBoutons.getPrefWidth()) / 2 + getOffsetXBarreClassique();
4792 break;
4793 }
4794
4797 double posX = 0;
4798 double posY = 0;
4799 switch (strPositXBoussole) {
4800 case "left":
4801 posX = ivVisualisation.getLayoutX() + getOffsetXBoussole();
4802 break;
4803 case "right":
4804 posX = ivVisualisation.getLayoutX() + getVisualisationWidth() - getOffsetXBoussole() - imgBoussole.getFitWidth();
4805 break;
4806 }
4807 switch (strPositYBoussole) {
4808 case "bottom":
4809 posY = ivVisualisation.getLayoutY() + getVisualisationHeight() - imgBoussole.getFitHeight() - getOffsetYBoussole();
4810 break;
4811 case "top":
4812 posY = ivVisualisation.getLayoutY() + getOffsetYBoussole();
4813 break;
4814 }
4815
4817 apVisuVignettes.getChildren().clear();
4818 if (isbAfficheVignettes()) {
4819 Label lblTitreVignettes = new Label("Vignettes");
4820 lblTitreVignettes.setPrefSize(160, 30);
4821 lblTitreVignettes.setAlignment(Pos.CENTER);
4823 ImageView[] ivVignettes = new ImageView[getiNombrePanoramiques()];
4825 apVisuVignettes2.setStyle("-fx-background-color : " + getStrCouleurFondVignettes());
4827 //lblTitreVignettes.setTextFill(Color.valueOf(getStrCouleurTexteVignettes()));
4828 lblTitreVignettes.setStyle("-fx-text-fill : " + getStrCouleurTexteVignettes() + ";-fx-background-color : " + getStrCouleurFondVignettes() + ";-fx-background-radius : 0 0 5 5;-fx-font-family : Verdana,Arial,sans-serif;");
4829
4830 switch (getStrPositionVignettes()) {
4831 case "bottom":
4832 lblTitreVignettes.setStyle("-fx-text-fill : " + getStrCouleurTexteVignettes() + ";-fx-background-color : " + getStrCouleurFondVignettes() + ";-fx-background-radius : 5 5 0 0;-fx-font-family : Verdana,Arial,sans-serif;");
4835 apVisuVignettes2.setLayoutX(0);
4836 apVisuVignettes2.setLayoutY(30);
4837 lblTitreVignettes.setLayoutX(apVisuVignettes2.getPrefWidth() - lblTitreVignettes.getPrefWidth());
4838 lblTitreVignettes.setLayoutY(0);
4841 // Positionner les vignettes exactement alignées avec le bord gauche de l'image
4842 apVisuVignettes.setLayoutX(ivVisualisation.getLayoutX());
4843 apVisuVignettes.setLayoutY(ivVisualisation.getLayoutY() + getVisualisationHeight() - apVisuVignettes.getPrefHeight());
4844 if (strPositVert.equals("bottom")) {
4845 LY = ivVisualisation.getLayoutY() + getVisualisationHeight() - hbbarreBoutons.getPrefHeight() - getOffsetYBarreClassique() - apVisuVignettes.getPrefHeight();
4846 }
4847 if (strPositYBoussole.equals("bottom")) {
4848 posY = ivVisualisation.getLayoutY() + getVisualisationHeight() - imgBoussole.getFitHeight() - getOffsetYBoussole() - apVisuVignettes.getPrefHeight();
4849 }
4850 break;
4851 case "left":
4852 lblTitreVignettes.setTranslateX(-lblTitreVignettes.getPrefWidth() / 2 + lblTitreVignettes.getPrefHeight() / 2);
4853 lblTitreVignettes.setTranslateY(lblTitreVignettes.getPrefWidth() / 2 - lblTitreVignettes.getPrefHeight() / 2);
4854 lblTitreVignettes.setRotate(270);
4855 if (isbAfficheTitre()) {
4856 if (lblTxtTitre2.isVisible()) {
4857 apVisuVignettes.setPrefHeight(getVisualisationHeight() - lblTxtTitre.getHeight() - lblTxtTitre2.getHeight());
4858 apVisuVignettes.setMinHeight(getVisualisationHeight() - lblTxtTitre.getHeight() - lblTxtTitre2.getHeight());
4859 apVisuVignettes2.setPrefHeight(getVisualisationHeight() - lblTxtTitre.getHeight() - lblTxtTitre2.getHeight());
4860 apVisuVignettes2.setMinHeight(getVisualisationHeight() - lblTxtTitre.getHeight() - lblTxtTitre2.getHeight());
4861 } else {
4862 apVisuVignettes.setPrefHeight(getVisualisationHeight() - lblTxtTitre.getHeight());
4863 apVisuVignettes.setMinHeight(getVisualisationHeight() - lblTxtTitre.getHeight());
4864 apVisuVignettes2.setPrefHeight(getVisualisationHeight() - lblTxtTitre.getHeight());
4865 apVisuVignettes2.setMinHeight(getVisualisationHeight() - lblTxtTitre.getHeight());
4866 }
4867 } else {
4868 apVisuVignettes.setPrefHeight(getVisualisationHeight());
4872 }
4873 apVisuVignettes.setPrefWidth(getTailleImageVignettes() + 40);
4874 apVisuVignettes.setMinWidth(getTailleImageVignettes() + 40);
4875 apVisuVignettes.setLayoutX(ivVisualisation.getLayoutX());
4876 apVisuVignettes2.setPrefWidth(getTailleImageVignettes() + 10);
4877 apVisuVignettes2.setMinWidth(getTailleImageVignettes() + 10);
4878 apVisuVignettes2.setLayoutX(0);
4879 lblTitreVignettes.setLayoutX(apVisuVignettes2.getPrefWidth());
4880 if (isbAfficheTitre()) {
4881 if (lblTxtTitre2.isVisible()) {
4882 apVisuVignettes.setLayoutY(ivVisualisation.getLayoutY() + lblTxtTitre.getHeight() + lblTxtTitre2.getHeight());
4883 } else {
4884 apVisuVignettes.setLayoutY(ivVisualisation.getLayoutY() + lblTxtTitre.getHeight());
4885 }
4886 } else {
4887 apVisuVignettes.setLayoutY(ivVisualisation.getLayoutY());
4888 }
4889 paneFondPrecedent.setLayoutX(ivVisualisation.getLayoutX() + apVisuVignettes.getPrefWidth());
4890 if (strPositHor.equals("left")) {
4891 LX = ivVisualisation.getLayoutX() + getOffsetXBarreClassique() + apVisuVignettes.getPrefWidth();
4892 }
4893 if (strPositXBoussole.equals("left")) {
4894 posX = ivVisualisation.getLayoutX() + getOffsetXBoussole() + apVisuVignettes.getPrefWidth();
4895 }
4896 break;
4897 case "right":
4898 lblTitreVignettes.setTranslateX(-lblTitreVignettes.getPrefWidth() / 2 + lblTitreVignettes.getPrefHeight() / 2);
4899 lblTitreVignettes.setTranslateY(lblTitreVignettes.getPrefWidth() / 2 - lblTitreVignettes.getPrefHeight() / 2);
4900 lblTitreVignettes.setRotate(90);
4901 if (isbAfficheTitre()) {
4902 if (lblTxtTitre2.isVisible()) {
4903 apVisuVignettes.setPrefHeight(getVisualisationHeight() - lblTxtTitre.getHeight() - lblTxtTitre2.getHeight());
4904 apVisuVignettes.setMinHeight(getVisualisationHeight() - lblTxtTitre.getHeight() - lblTxtTitre2.getHeight());
4905 apVisuVignettes2.setPrefHeight(getVisualisationHeight() - lblTxtTitre.getHeight() - lblTxtTitre2.getHeight());
4906 apVisuVignettes2.setMinHeight(getVisualisationHeight() - lblTxtTitre.getHeight() - lblTxtTitre2.getHeight());
4907 } else {
4908 apVisuVignettes.setPrefHeight(getVisualisationHeight() - lblTxtTitre.getHeight());
4909 apVisuVignettes.setMinHeight(getVisualisationHeight() - lblTxtTitre.getHeight());
4910 apVisuVignettes2.setPrefHeight(getVisualisationHeight() - lblTxtTitre.getHeight());
4911 apVisuVignettes2.setMinHeight(getVisualisationHeight() - lblTxtTitre.getHeight());
4912
4913 }
4914 } else {
4915 apVisuVignettes.setPrefHeight(getVisualisationHeight());
4919 }
4920 apVisuVignettes.setPrefWidth(getTailleImageVignettes() + 40);
4921 apVisuVignettes.setMinWidth(getTailleImageVignettes() + 40);
4922 apVisuVignettes.setLayoutX(ivVisualisation.getLayoutX() + getVisualisationWidth() - apVisuVignettes.getPrefWidth());
4923 apVisuVignettes2.setPrefWidth(getTailleImageVignettes() + 10);
4924 apVisuVignettes2.setMinWidth(getTailleImageVignettes() + 10);
4925 apVisuVignettes2.setLayoutX(30);
4926 lblTitreVignettes.setLayoutX(0);
4927 if (isbAfficheTitre()) {
4928 if (lblTxtTitre2.isVisible()) {
4929 apVisuVignettes.setLayoutY(ivVisualisation.getLayoutY() + lblTxtTitre.getHeight() + lblTxtTitre2.getHeight());
4930 } else {
4931 apVisuVignettes.setLayoutY(ivVisualisation.getLayoutY() + lblTxtTitre.getHeight());
4932 }
4933 } else {
4934 apVisuVignettes.setLayoutY(ivVisualisation.getLayoutY());
4935 }
4936 paneFondSuivant.setLayoutX(ivVisualisation.getLayoutX() + (getVisualisationWidth() - paneFondPrecedent.getPrefWidth()) - apVisuVignettes.getPrefWidth());
4937 if (strPositHor.equals("right")) {
4938 LX = ivVisualisation.getLayoutX() + getVisualisationWidth() - hbbarreBoutons.getPrefWidth() - getOffsetXBarreClassique() - apVisuVignettes.getPrefWidth();
4939 }
4940 if (strPositXBoussole.equals("right")) {
4941 posX = ivVisualisation.getLayoutX() + getVisualisationWidth() - getOffsetXBoussole() - imgBoussole.getFitWidth() - apVisuVignettes.getPrefWidth();
4942 }
4943 break;
4944 }
4945 int iMaxVignettes = 5;
4946 int iNombre = (getiNombrePanoramiques() > iMaxVignettes) ? iMaxVignettes : getiNombrePanoramiques();
4947 for (int i = 0; i < iNombre; i++) {
4948 ivVignettes[i] = new ImageView(getPanoramiquesProjet()[i].getImgVignettePanoramique());
4949 ivVignettes[i].setFitWidth(getTailleImageVignettes());
4950 ivVignettes[i].setFitHeight(getTailleImageVignettes() / 2);
4951 switch (getStrPositionVignettes()) {
4952 case "bottom":
4953 ivVignettes[i].setLayoutX((getTailleImageVignettes() + 10) * i + 5);
4954 ivVignettes[i].setLayoutY(5);
4955 break;
4956 case "left":
4957 ivVignettes[i].setLayoutY((getTailleImageVignettes() / 2 + 10) * i + 5);
4958 ivVignettes[i].setLayoutX(5);
4959 break;
4960 case "right":
4961 ivVignettes[i].setLayoutY((getTailleImageVignettes() / 2 + 10) * i + 5);
4962 ivVignettes[i].setLayoutX(5);
4963 break;
4964 }
4965 apVisuVignettes2.getChildren().add(ivVignettes[i]);
4966 }
4967 apVisuVignettes.getChildren().addAll(apVisuVignettes2, lblTitreVignettes);
4968 }
4969 hbbarreBoutons.setLayoutX(LX);
4970 hbbarreBoutons.setLayoutY(LY);
4971 imgBoussole.setLayoutX(posX);
4972 imgBoussole.setLayoutY(posY);
4973 imgAiguille.setLayoutX(posX + (imgBoussole.getFitWidth() - imgAiguille.getFitWidth()) / 2);
4974 imgAiguille.setLayoutY(posY);
4977
4978 }
4979
4985 private int chercheZone(int nb) {
4986 int iNumero = -1;
4987 String strZone = "area-" + nb;
4988 for (int i = 0; i < getiNombreZonesBarrePersonnalisee(); i++) {
4990 iNumero = i;
4991 }
4992 }
4993 return iNumero;
4994 }
4995
5017 apAfficheBarrePersonnalisee.getChildren().clear();
5018 if (!tfLienImageBarrePersonnalisee.getText().equals("")) {
5021
5022 // Vérifier que l'image a bien été créée
5023 if (getWiBarrePersonnaliseeCouleur() == null) {
5024 return; // Image non disponible, on ne peut pas afficher
5025 }
5026
5028 ivBarrePersonnalisee.setPreserveRatio(true);
5029 ivBarrePersonnalisee.setSmooth(true);
5030 double hauteur = getWiBarrePersonnaliseeCouleur().getHeight();
5031 double largeur = getWiBarrePersonnaliseeCouleur().getWidth();
5032 if (largeur > hauteur) {
5033 ivBarrePersonnalisee.setFitWidth(150);
5034 } else {
5035 ivBarrePersonnalisee.setFitHeight(150);
5036 }
5038 ivAfficheBarrePersonnalisee.setSmooth(true);
5039
5041 apAfficheBarrePersonnalisee.setPrefHeight(hauteur);
5047 double ajoutX = (largeur / 2.d) * getTailleBarrePersonnalisee() / 100.d;
5048 double ajoutY = (hauteur / 2.d) * getTailleBarrePersonnalisee() / 100.d;
5049 double LX = 0;
5050 double LY = 0;
5051 switch (strPositVert) {
5052 case "top":
5053 LY = ivVisualisation.getLayoutY() + getOffsetYBarrePersonnalisee() + ajoutY - hauteur / 2.d;
5054 break;
5055 case "bottom":
5057 break;
5058 case "middle":
5060 break;
5061 }
5062
5063 switch (strPositHor) {
5064 case "right":
5066 break;
5067 case "left":
5068 LX = ivVisualisation.getLayoutX() + getOffsetXBarrePersonnalisee() + ajoutX - largeur / 2.d;
5069 break;
5070 case "center":
5072 break;
5073 }
5074 if (isbAfficheVignettes()) {
5075 switch (getStrPositionVignettes()) {
5076 case "bottom":
5077 if (strPositVert.equals("bottom")) {
5078 LY -= apVisuVignettes.getPrefHeight();
5079 if (!strPositHor.equals("right")) {
5080 LY += 30;
5081 }
5082 }
5083 break;
5084 case "left":
5085 if (strPositHor.equals("left")) {
5086 LX += apVisuVignettes.getPrefWidth();
5087 }
5088 break;
5089 case "right":
5090 if (strPositHor.equals("right")) {
5091 LX -= apVisuVignettes.getPrefWidth();
5092 }
5093 break;
5094 }
5095 }
5096 apAfficheBarrePersonnalisee.setLayoutX(LX);
5097 apAfficheBarrePersonnalisee.setLayoutY(LY);
5098 Circle[] cercles = new Circle[50];
5099 int zone = 1;
5100 if (getStrInfoBarrePersonnalisee().equals("oui")) {
5101 int iNum = chercheZone(zone);
5102 if (iNum != -1) {
5103 ImageView ivInfoBarrePersonnalisee = new ImageView(new Image("file:" + getStrRepertAppli() + "/theme/telecommandes/info.png"));
5109 }
5110 zone++;
5111 }
5112 if (getStrAideBarrePersonnalisee().equals("oui")) {
5113 int iNum = chercheZone(zone);
5114 if (iNum != -1) {
5115 ImageView ivAideBarrePersonnalisee = new ImageView(new Image("file:" + getStrRepertAppli() + "/theme/telecommandes/aide.png"));
5121 }
5122 zone++;
5123 }
5125 int iNum = chercheZone(zone);
5126 if (iNum != -1) {
5127 ImageView ivRotationBarrePersonnalisee = new ImageView(new Image("file:" + getStrRepertAppli() + "/theme/telecommandes/rotation.png"));
5133 }
5134 zone++;
5135 }
5137 int iNum = chercheZone(zone);
5138 if (iNum != -1) {
5139 ImageView ivSourisBarrePersonnalisee = new ImageView(new Image("file:" + getStrRepertAppli() + "/theme/telecommandes/souris.png"));
5145 }
5146 zone++;
5147 }
5149 int iNum = chercheZone(zone);
5150 if (iNum != -1) {
5151 ImageView ivFSBarrePersonnalisee = new ImageView(new Image("file:" + getStrRepertAppli() + "/theme/telecommandes/fs.png"));
5157 }
5158 zone++;
5159 }
5160 // Appliquer l'opacité à la barre personnalisée
5162 }
5163 }
5164 }
5165
5189 try {
5190 File fileFichier = new File(strNomFichier);
5191 if (fileFichier.exists()) {
5195 new FileInputStream(strNomFichier), "UTF-8"))) {
5196 strTexte = "";
5198 setiNombrePanoramiquesFichier(0);
5199 while ((strLigneTexte = brLisFichier.readLine()) != null) {
5200 if (strLigneTexte.contains("Panoramique=>")) {
5201 setiNombrePanoramiquesFichier(getiNombrePanoramiquesFichier() + 1);
5202 }
5203 strTexte += strLigneTexte + "\n";
5204 }
5205 brLisFichier.close();
5206 cbDeplacementsBarrePersonnalisee.setSelected(true);
5207 cbDeplacementsBarrePersonnalisee.setDisable(false);
5209 cbZoomBarrePersonnalisee.setSelected(true);
5210 cbZoomBarrePersonnalisee.setDisable(false);
5212 cbRotationBarrePersonnalisee.setSelected(true);
5213 cbRotationBarrePersonnalisee.setDisable(false);
5215 cbSourisBarrePersonnalisee.setSelected(true);
5216 cbSourisBarrePersonnalisee.setDisable(false);
5218 cbFSBarrePersonnalisee.setSelected(true);
5219 cbFSBarrePersonnalisee.setDisable(false);
5223 tfLien1BarrePersonnalisee.setDisable(true);
5224 tfLien2BarrePersonnalisee.setDisable(true);
5225 String strLigneComplete = strTexte.replace("[", "|");
5226 String strLignes[] = strLigneComplete.split("\\|", 500);
5231 for (int ikk = 1; ikk < strLignes.length; ikk++) {
5233 strElementsLigne = strLigne.split(";", 25);
5234 strTypeElement = strElementsLigne[0].split(">", 2);
5235 strTypeElement[0] = strTypeElement[0].replace(" ", "").replace("=", "").replace("[", "");
5237 if ("area".equals(strTypeElement[0])) {
5239 for (int i = 0; i < strElementsLigne.length; i++) {
5240 strElementsLigne[i] = strElementsLigne[i].replace("]", "").replace("\n", "");
5241 String[] strValeur = strElementsLigne[i].split(":", 2);
5242 switch (strValeur[0]) {
5243 case "id":
5244 zonesBarre[iNombreZonesBarre].setStrIdZone(strValeur[1]);
5245 break;
5246 case "shape":
5247 zonesBarre[iNombreZonesBarre].setStrTypeZone(strValeur[1]);
5248 break;
5249 case "coords":
5250 zonesBarre[iNombreZonesBarre].setStrCoordonneesZone(strValeur[1]);
5251 break;
5252 }
5253 }
5254 zonesBarre[iNombreZonesBarre].calculeCentre();
5255 switch (zonesBarre[iNombreZonesBarre].getStrIdZone()) {
5256 case "telUp":
5257 case "telDown":
5258 case "telRight":
5259 case "telLeft":
5260 cbDeplacementsBarrePersonnalisee.setSelected(false);
5261 cbDeplacementsBarrePersonnalisee.setDisable(true);
5263 break;
5264 case "telZoomMoins":
5265 case "telZoomPlus":
5266 cbZoomBarrePersonnalisee.setSelected(false);
5267 cbZoomBarrePersonnalisee.setDisable(true);
5269 break;
5270 case "telInfo":
5272 break;
5273 case "telAide":
5275 break;
5276 case "telFS":
5277 cbFSBarrePersonnalisee.setSelected(false);
5278 cbFSBarrePersonnalisee.setDisable(true);
5280 break;
5281 case "telSouris":
5282 cbSourisBarrePersonnalisee.setSelected(false);
5283 cbSourisBarrePersonnalisee.setDisable(true);
5285 break;
5286 case "telRotation":
5287 cbRotationBarrePersonnalisee.setSelected(false);
5288 cbRotationBarrePersonnalisee.setDisable(true);
5290 break;
5291 case "telLien-1":
5292 tfLien1BarrePersonnalisee.setDisable(false);
5293 break;
5294 case "telLien-2":
5295 tfLien2BarrePersonnalisee.setDisable(false);
5296 break;
5297 }
5299 }
5300
5301 }
5302 }
5303 return iNombreZonesBarre;
5304 } else {
5305 return -1;
5306 }
5307 } catch (FileNotFoundException ex) {
5308 Logger.getLogger(EditeurPanovisu.class
5309 .getName()).log(Level.SEVERE, null, ex);
5310 return -1;
5311 }
5312
5313 }
5314
5333 strRepertBarrePersonnalisee = getStrRepertAppli() + "/theme/telecommandes";
5337 FileChooser.ExtensionFilter efShpFilter = new FileChooser.ExtensionFilter("Fichiers barre personnalisée (SHP)", "*.shp", "*.png");
5338
5339 fileChooser.setInitialDirectory(fileRepert);
5340 fileChooser.getExtensionFilters().addAll(efShpFilter);
5341
5342 File fileFichierImage = fileChooser.showOpenDialog(null);
5343 if (fileFichierImage != null) {
5344 String strNomFichier = fileFichierImage.getAbsolutePath();
5345 strNomFichier = strNomFichier.substring(0, strNomFichier.length() - 4);
5346 String strNomFichierShp = strNomFichier + ".shp";
5347 String strNomFichierPng = strNomFichier + ".png";
5348 File fileFichShp = new File(strNomFichierShp);
5350 if (fileFichShp.exists() && fileFichPng.exists()) {
5353 btnEditerBarre.setDisable(false);
5358 }
5359 }
5360 }
5361 }
5362
5374 public void chargeBarrePersonnalisee(String strNomFichier) throws IOException {
5375 if (strNomFichier.length() > 4) {
5376 strNomFichier = strNomFichier.substring(0, strNomFichier.length() - 4);
5377 String strNomFichierShp = strNomFichier + ".shp";
5378 String strNomFichierPng = strNomFichier + ".png";
5379 File fileFichShp = new File(strNomFichierShp);
5381 if (fileFichShp.exists() && fileFichPng.exists()) {
5384 btnEditerBarre.setDisable(false);
5388 }
5389 }
5390 }
5391 }
5392
5401
5402 apCalques1.setPrefWidth(190);
5403 apCalques1.setMinWidth(190);
5404 apCalques1.setMaxWidth(190);
5405 apCalques1.setPrefHeight(620);
5406 apCalques1.setLayoutX(-150);
5407 apCalques1.setLayoutY(0);
5408 apCalques1.setStyle("-fx-background-color :rgba(0,0,0,0);");
5409 apCalques1.setOnMouseEntered((e) -> {
5410 apCalques1.setLayoutX(0);
5411 });
5412 apCalques1.setOnMouseExited((e) -> {
5413 apCalques1.setLayoutX(-150);
5414 });
5415 apCalques1.getChildren().add(apCalques);
5416
5417 apCalques.setPrefSize(150, 600);
5418 apCalques.setMinSize(150, 600);
5419 apCalques.setMaxSize(150, 600);
5420 apCalques.setStyle("-fx-background-color:-fx-base;");
5421 Label lblCalque = new Label(rbLocalisation.getString("interface.calques"));
5422 lblCalque.setPrefSize(70, 20);
5423 lblCalque.setTextAlignment(TextAlignment.CENTER);
5424 lblCalque.setStyle("-fx-background-color:-fx-base;"
5425 + "-fx-border-color: derive(-fx-base,10%);"
5426 + "-fx-border-width: 1px;");
5427 lblCalque.setTranslateX(-lblCalque.getPrefWidth() / 2 + lblCalque.getPrefHeight() / 2);
5428 lblCalque.setTranslateY(lblCalque.getPrefWidth() / 2 - lblCalque.getPrefHeight() / 2);
5429 lblCalque.setRotate(270);
5430 lblCalque.setLayoutX(150);
5431 cbCalques = new CheckBox(rbLocalisation.getString("interface.calquesTous"));
5432 cbCalques.setLayoutX(0);
5433 cbCalques.setLayoutY(35);
5434 cbCalques.setSelected(true);
5435 cbCalques.setPrefWidth(150);
5436 cbCalques.selectedProperty().addListener((ov, old_val, new_val) -> {
5437 for (int i = 0; i < iNombreCalques; i++) {
5438 if (!cbNiveauxCalque[i].isDisabled()) {
5439 cbNiveauxCalque[i].setSelected(new_val);
5440 }
5441 }
5443 });
5444 cbCalques.getStyleClass().add("calque");
5445
5446 apCalques.getChildren().addAll(lblCalque, cbCalques);
5447 for (int i = 0; i < iNombreCalques; i++) {
5448 cbNiveauxCalque[i] = new CheckBox(rbLocalisation.getString("interface.calque") + " " + (i + 1));
5449 cbNiveauxCalque[i].setLayoutX(0);
5450 cbNiveauxCalque[i].setLayoutY(70 + i * 25);
5451 cbNiveauxCalque[i].setSelected(true);
5452 cbNiveauxCalque[i].getStyleClass().add("calque");
5453 cbNiveauxCalque[i].setPrefWidth(150);
5454 apCalques.getChildren().addAll(cbNiveauxCalque[i]);
5455 cbNiveauxCalque[i].selectedProperty().addListener((ov, old_val, new_val) -> {
5457 });
5458 }
5459 return apCalques1;
5460 }
5461
5483 apVisualisation.getChildren().remove(lblTxtTitre);
5484 apVisualisation.getChildren().remove(lblTxtTitre2);
5485 apVisualisation.getChildren().remove(ivTwitter);
5486 apVisualisation.getChildren().remove(ivMeta);
5487 apVisualisation.getChildren().remove(ivEmail);
5488 apVisualisation.getChildren().remove(ivMasque);
5489 apVisualisation.getChildren().remove(apVisuComboMenu);
5490 apVisualisation.getChildren().remove(apVisuVignettes);
5491 apVisualisation.getChildren().remove(imgBoussole);
5492 apVisualisation.getChildren().remove(imgAiguille);
5493 apVisualisation.getChildren().remove(apAfficheBarrePersonnalisee);
5494 apVisualisation.getChildren().remove(hbbarreBoutons);
5495 apVisualisation.getChildren().remove(apVisuPlan);
5496 apVisualisation.getChildren().remove(apVisuCarte);
5497 apVisualisation.getChildren().remove(apVisuBoutonVisiteAuto);
5498 apVisualisation.getChildren().remove(paneFondSuivant);
5499 apVisualisation.getChildren().remove(paneFondPrecedent);
5500 for (int i = 0; i < getiNombreImagesFond(); i++) {
5501 apVisualisation.getChildren().remove(ivImageFond[i]);
5502 }
5503 Boolean[] bCalques = new Boolean[20];
5504 for (int ii = 1; ii <= iNombreCalques; ii++) {
5505 bCalques[ii - 1]
5506 = (getiCalqueTitre() == ii) || (getiCalquePartage() == ii) || (getiCalqueMasquage() == ii)
5509 || (getiCalqueCarte() == ii) || (getiCalqueVisiteAuto() == ii) || (getiCalqueSuivPrec() == ii);
5510 for (int i1 = 0; i1 < getiNombreImagesFond(); i1++) {
5511 bCalques[ii - 1] = bCalques[ii - 1] || (getImagesFond()[i1].getiCalqueImage() == ii);
5512 }
5513 if (cbNiveauxCalque[ii - 1].isSelected()) {
5514 if (getiCalqueTitre() == ii) {
5515 if (lblTxtTitre != null) {
5516 apVisualisation.getChildren().add(lblTxtTitre);
5517 }
5518 if (lblTxtTitre2 != null) {
5519 apVisualisation.getChildren().add(lblTxtTitre2);
5520 }
5521 }
5522 if (getiCalquePartage() == ii) {
5523 if (ivTwitter != null) {
5524 apVisualisation.getChildren().add(ivTwitter);
5525 }
5526 if (ivMeta != null) {
5527 apVisualisation.getChildren().add(ivMeta);
5528 }
5529 if (ivEmail != null) {
5530 apVisualisation.getChildren().add(ivEmail);
5531 }
5532 }
5533 if (getiCalqueMasquage() == ii) {
5534 if (ivMasque != null) {
5535 apVisualisation.getChildren().add(ivMasque);
5536 }
5537
5538 }
5539 if (getiCalqueMenuPanoramiques() == ii) {
5540 if (apVisuComboMenu != null) {
5541 apVisualisation.getChildren().add(apVisuComboMenu);
5542 }
5543
5544 }
5545 if (getiCalqueVignettes() == ii) {
5546 if (apVisuVignettes != null) {
5547 apVisualisation.getChildren().add(apVisuVignettes);
5548 }
5549
5550 }
5551 if (getiCalqueBoussole() == ii) {
5552 if (imgBoussole != null) {
5553 apVisualisation.getChildren().add(imgBoussole);
5554 }
5555 if (imgAiguille != null) {
5556 apVisualisation.getChildren().add(imgAiguille);
5557 }
5558
5559 }
5561 if (apAfficheBarrePersonnalisee != null) {
5563 }
5564
5565 }
5566 if (getiCalqueBarreClassique() == ii) {
5567 if (hbbarreBoutons != null) {
5568 apVisualisation.getChildren().add(hbbarreBoutons);
5569 }
5570
5571 }
5572 if (getiCalquePlan() == ii) {
5573 if (apVisuPlan != null) {
5574 apVisualisation.getChildren().add(apVisuPlan);
5575 }
5576
5577 }
5578 if (getiCalqueCarte() == ii) {
5579 if (apVisuCarte != null) {
5580 apVisualisation.getChildren().add(apVisuCarte);
5581 }
5582
5583 }
5584 if (getiCalqueVisiteAuto() == ii) {
5585 if (apBoutonVisiteAuto != null) {
5586 apVisualisation.getChildren().add(apVisuBoutonVisiteAuto);
5587 }
5588 }
5589 if (getiCalqueSuivPrec() == ii) {
5590 if (apBoutonVisiteAuto != null) {
5591 apVisualisation.getChildren().add(paneFondSuivant);
5592 apVisualisation.getChildren().add(paneFondPrecedent);
5593 }
5594 }
5595 for (int i = 0; i < getiNombreImagesFond(); i++) {
5596 if (getImagesFond()[i].getiCalqueImage() == ii) {
5597 if (ivImageFond[i] != null) {
5598 apVisualisation.getChildren().add(ivImageFond[i]);
5599 }
5600 }
5601 }
5602
5603 }
5604 }
5605 for (int ii1 = 0; ii1 < iNombreCalques; ii1++) {
5606 cbNiveauxCalque[ii1].setDisable(!bCalques[ii1]);
5607 }
5608 }
5609
5631 public void afficheBarreClassique(String strPosition, double dX, double dY, double taille, String strStyleBoutons, String strStyleHS, double espacement) {
5633 apVisualisation.getChildren().clear();
5635 if (getiNombreImagesFond() > 0) {
5636 for (int i = 0; i < getiNombreImagesFond(); i++) {
5637 ivImageFond[i] = new ImageView(getImagesFond()[i].getImgFond());
5638 ivImageFond[i].setId("imageFond" + i);
5639 ivImageFond[i].setFitWidth(getImagesFond()[i].getTailleX());
5640 ivImageFond[i].setFitHeight(getImagesFond()[i].getTailleY());
5641 double posX = 0, posY = 0;
5642 switch (getImagesFond()[i].getStrPosX()) {
5643 case "left":
5644 posX = getImagesFond()[i].getOffsetX() + ivVisualisation.getLayoutX();
5645 break;
5646 case "center":
5648 break;
5649 case "right":
5651 break;
5652 }
5653 switch (getImagesFond()[i].getStrPosY()) {
5654 case "top":
5655 posY = getImagesFond()[i].getOffsetY() + ivVisualisation.getLayoutY();
5656 break;
5657 case "middle":
5659 break;
5660 case "bottom":
5662 break;
5663 }
5664 if (isbAfficheVignettes()) {
5665 switch (getStrPositionVignettes()) {
5666 case "bottom":
5667 if (getImagesFond()[i].getStrPosY().equals("bottom")) {
5668 posY -= (getTailleImageVignettes() / 2 + 6);
5669 }
5670 break;
5671 case "left":
5672 if (getImagesFond()[i].getStrPosX().equals("left")) {
5673 posX += getTailleImageVignettes() + 10;
5674 }
5675 break;
5676 case "right":
5677 if (getImagesFond()[i].getStrPosX().equals("right")) {
5678 posX -= (getTailleImageVignettes() + 10);
5679 }
5680 break;
5681 }
5682 }
5683 ivImageFond[i].setLayoutX(posX);
5684 ivImageFond[i].setLayoutY(posY);
5685 ivImageFond[i].setOpacity(getImagesFond()[i].getOpacite());
5686 apVisualisation.getChildren().add(ivImageFond[i]);
5687 }
5688 }
5690 lblTxtTitre.setVisible(isbAfficheTitre());
5692 afficheMasque();
5694 hbbarreBoutons.setId("barreBoutons");
5696 ivHotSpotPanoramique.setFitWidth(30);
5697 ivHotSpotPanoramique.setPreserveRatio(true);
5698 ivHotSpotPanoramique.setLayoutX(700);
5699 ivHotSpotPanoramique.setLayoutY(260);
5700 Tooltip tltpHSPano = new Tooltip("Hotspot panoramique");
5701 tltpHSPano.setStyle(getStrTooltipStyle());
5703 ivHotSpotImage.setFitWidth(30);
5704 ivHotSpotImage.setPreserveRatio(true);
5705 ivHotSpotImage.setLayoutX(820);
5706 ivHotSpotImage.setLayoutY(260);
5707 Tooltip tltpHSImage = new Tooltip("Hotspot Photo");
5708 tltpHSImage.setStyle(getStrTooltipStyle());
5710 ivHotSpotHTML.setFitWidth(30);
5711 ivHotSpotHTML.setPreserveRatio(true);
5712 ivHotSpotHTML.setLayoutX(940);
5713 ivHotSpotHTML.setLayoutY(260);
5714 Tooltip tltpHSHTML = new Tooltip("Hotspot HTML");
5715 tltpHSHTML.setStyle(getStrTooltipStyle());
5717 changeCouleurHS(couleurHotspots.getHue(), couleurHotspots.getSaturation(), couleurHotspots.getBrightness());
5718 changeCouleurHSPhoto(couleurHotspotsPhoto.getHue(), couleurHotspotsPhoto.getSaturation(), couleurHotspotsPhoto.getBrightness());
5719 changeCouleurHSHTML(couleurHotspotsHTML.getHue(), couleurHotspotsHTML.getSaturation(), couleurHotspotsHTML.getBrightness());
5720 int iNombreBoutons = 11;
5722 iNombreBoutons -= 4;
5723 }
5724 if (getStrZoomBarreClassique().equals("non")) {
5725 iNombreBoutons -= 2;
5726 }
5727 if (getStrOutilsBarreClassique().equals("non")) {
5728 iNombreBoutons -= 5;
5729 } else {
5731 iNombreBoutons -= 1;
5732 }
5733 if (getStrRotationBarreClassique().equals("non")) {
5734 iNombreBoutons -= 1;
5735 }
5736 if (getStrSourisBarreClassique().equals("non")) {
5737 iNombreBoutons -= 1;
5738 }
5739 }
5740 double tailleBarre1 = (double) iNombreBoutons * ((double) taille + espacement);
5741 hbbarreBoutons.setPrefWidth(tailleBarre1);
5742 hbbarreBoutons.setPrefHeight((double) taille);
5743 hbbarreBoutons.setMinWidth(tailleBarre1);
5744 hbbarreBoutons.setMinHeight((double) taille);
5745 hbbarreBoutons.setMaxWidth(tailleBarre1);
5746 hbbarreBoutons.setMaxHeight((double) taille);
5748 hbZoom = new HBox(espacement);
5749 hbOutils = new HBox(espacement);
5750 hbbarreBoutons.getChildren().addAll(hbDeplacements, hbZoom, hbOutils);
5752 hbbarreBoutons.getChildren().remove(hbDeplacements);
5753 }
5754 if (getStrZoomBarreClassique().equals("non")) {
5755 hbbarreBoutons.getChildren().remove(hbZoom);
5756 }
5757 if (getStrOutilsBarreClassique().equals("non")) {
5758 hbbarreBoutons.getChildren().remove(hbOutils);
5759 }
5761 ivHaut.setFitWidth(taille);
5762 ivHaut.setFitHeight(taille);
5763 ivBas.setFitWidth(taille);
5764 ivBas.setFitHeight(taille);
5765 ivGauche.setFitWidth(taille);
5766 ivGauche.setFitHeight(taille);
5767 ivDroite.setFitWidth(taille);
5768 ivDroite.setFitHeight(taille);
5769 ivZoomPlus.setFitWidth(taille);
5770 ivZoomPlus.setFitHeight(taille);
5771 ivZoomMoins.setFitWidth(taille);
5772 ivZoomMoins.setFitHeight(taille);
5773 ivInfo.setFitWidth(taille);
5774 ivInfo.setFitHeight(taille);
5775 ivPleinEcran.setFitWidth(taille);
5776 ivPleinEcran.setFitHeight(taille);
5777 ivModeSouris.setFitWidth(taille);
5778 ivModeSouris.setFitHeight(taille);
5779 ivAide.setFitWidth(taille);
5780 ivAide.setFitHeight(taille);
5781 ivAutoRotation.setFitWidth(taille);
5782 ivAutoRotation.setFitHeight(taille);
5783 hbDeplacements.getChildren().addAll(ivGauche, ivHaut, ivBas, ivDroite);
5784 hbZoom.getChildren().addAll(ivZoomPlus, ivZoomMoins);
5787 hbOutils.getChildren().remove(ivPleinEcran);
5788 }
5789 if (getStrSourisBarreClassique().equals("non")) {
5790 hbOutils.getChildren().remove(ivModeSouris);
5791 }
5792 if (getStrRotationBarreClassique().equals("non")) {
5793 hbOutils.getChildren().remove(ivAutoRotation);
5794 }
5795 String strPositVert = strPosition.split(":")[0];
5796 String strPositHor = strPosition.split(":")[1];
5797 double LX = 0;
5798 double LY = 0;
5799 switch (strPositVert) {
5800 case "top":
5801 LY = ivVisualisation.getLayoutY() + dY;
5802 break;
5803 case "bottom":
5804 LY = ivVisualisation.getLayoutY() + getVisualisationHeight() - hbbarreBoutons.getPrefHeight() - dY;
5805 break;
5806 case "middle":
5807 LY = ivVisualisation.getLayoutY() + (getVisualisationHeight() - hbbarreBoutons.getPrefHeight()) / 2.d - dY;
5808 break;
5809 }
5810
5811 switch (strPositHor) {
5812 case "right":
5813 LX = ivVisualisation.getLayoutX() + getVisualisationWidth() - hbbarreBoutons.getPrefWidth() - dX;
5814 break;
5815 case "left":
5816 LX = ivVisualisation.getLayoutX() + dX;
5817 break;
5818 case "center":
5819 LX = ivVisualisation.getLayoutX() + (getVisualisationWidth() - hbbarreBoutons.getPrefWidth()) / 2 + dX;
5820 break;
5821 }
5822 if (isbAfficheVignettes()) {
5823 switch (getStrPositionVignettes()) {
5824 case "bottom":
5825 if (strPositVert.equals("bottom")) {
5826 LY = ivVisualisation.getLayoutY() + getVisualisationHeight() - hbbarreBoutons.getPrefHeight() - getOffsetYBarreClassique() - apVisuVignettes.getPrefHeight();
5827 }
5828 break;
5829 case "left":
5830 if (strPositHor.equals("left")) {
5831 LX = ivVisualisation.getLayoutX() + getOffsetXBarreClassique() + apVisuVignettes.getPrefWidth();
5832 }
5833 break;
5834 case "right":
5835 if (strPositHor.equals("right")) {
5836 LX = ivVisualisation.getLayoutX() + getVisualisationWidth() - hbbarreBoutons.getPrefWidth() - getOffsetXBarreClassique() - apVisuVignettes.getPrefWidth();
5837 }
5838 break;
5839 }
5840 }
5841 hbbarreBoutons.setLayoutX(LX);
5842 hbbarreBoutons.setLayoutY(LY);
5847
5848 }
5849
5857 File[] fileRepertoires = new File(strRepertoire).listFiles();
5859 if (fileRepert.isDirectory()) {
5860 String strNomRepert = fileRepert.getName();
5861 if (!strNomRepert.equals("hotspots")) {
5863 }
5864 }
5865 }
5866 return strListe;
5867 }
5868
5878 if (!fileRepert.isDirectory()) {
5879 String strNomRepert = fileRepert.getName();
5881 }
5882 }
5883 return strListe;
5884 }
5885
5893 File[] fileRepertoires = new File(strRepertoire).listFiles(PNG_FILTER);
5895 if (!fileRepert.isDirectory()) {
5896 String strNomRepert = fileRepert.getName();
5897 if (strNomRepert.contains("rose")) {
5899 }
5900 }
5901 }
5902 return strListe;
5903 }
5904
5912 File[] fileRepertoires = new File(strRepertoire).listFiles(PNG_FILTER);
5914 if (!fileRepert.isDirectory()) {
5915 String strNomRepert = fileRepert.getName();
5917 }
5918 }
5919 return strListe;
5920 }
5921
5933 StringBuilder sb = new StringBuilder(8192); // Pré-allocation pour performance
5935 if (getCoordCentreCarte() != null) {
5937 } else {
5938 if (navigateurCarteOL != null) {
5940 } else {
5942 }
5943 }
5944 sb.append("styleBarre=").append(getStyleBarreClassique()).append("\n")
5945 .append("couleurBoutons=").append(couleurBarreClassique.toString().substring(2, 8)).append("\n")
5946 .append("couleurHotspots=").append(couleurHotspots.toString().substring(2, 8)).append("\n")
5947 .append("couleurHotspotsPhoto=").append(couleurHotspotsPhoto.toString().substring(2, 8)).append("\n")
5948 .append("couleurHotspotsHTML=").append(couleurHotspotsHTML.toString().substring(2, 8)).append("\n")
5949 .append("tailleHotspots=").append(getiTailleHotspotsPanoramique()).append("\n")
5950 .append("tailleHotspotsPhoto=").append(getiTailleHotspotsImage()).append("\n")
5951 .append("tailleHotspotsHTML=").append(getiTailleHotspotsHTML()).append("\n")
5952 .append("couleurMasque=").append(couleurMasque.toString().substring(2, 8)).append("\n")
5953 .append("styleHotspots=").append(getStrStyleHotSpots()).append("\n")
5954 .append("styleHotspotImages=").append(getStrStyleHotSpotImages()).append("\n")
5955 .append("styleHotspotHTML=").append(getStrStyleHotSpotHTML()).append("\n")
5956 .append("position=").append(getStrPositionBarreClassique()).append("\n")
5957 .append("dX=").append(Math.round(getOffsetXBarreClassique())).append("\n")
5958 .append("dY=").append(Math.round(getOffsetYBarreClassique())).append("\n")
5959 .append("visible=").append(getStrVisibiliteBarreClassique()).append("\n")
5960 .append("suivantPrecedent=").append(isbSuivantPrecedent()).append("\n")
5961 .append("deplacement=").append(getStrDeplacementsBarreClassique()).append("\n")
5962 .append("zoom=").append(getStrZoomBarreClassique()).append("\n")
5963 .append("outils=").append(getStrOutilsBarreClassique()).append("\n")
5964 .append("rotation=").append(getStrRotationBarreClassique()).append("\n")
5965 .append("FS=").append(getStrPleinEcranBarreClassique()).append("\n")
5966 .append("souris=").append(getStrSourisBarreClassique()).append("\n")
5967 .append("espacementBoutons=").append(getEspacementBarreClassique()).append("\n")
5968 .append("bCouleurOrigineBarrePersonnalisee=").append(isbCouleurOrigineBarrePersonnalisee()).append("\n")
5969 .append("nombreZonesBarrePersonnalisee=").append(getiNombreZonesBarrePersonnalisee()).append("\n")
5970 .append("offsetXBarrePersonnalisee=").append(getOffsetXBarrePersonnalisee()).append("\n")
5971 .append("offsetYBarrePersonnalisee=").append(getOffsetYBarrePersonnalisee()).append("\n")
5972 .append("tailleBarrePersonnalisee=").append(getTailleBarrePersonnalisee()).append("\n")
5973 .append("tailleIconesBarrePersonnalisee=").append(getTailleIconesBarrePersonnalisee()).append("\n")
5974 .append("strPositionBarrePersonnalisee=").append(getStrPositionBarrePersonnalisee()).append("\n")
5975 .append("strDeplacementsBarrePersonnalisee=").append(getStrDeplacementsBarrePersonnalisee()).append("\n")
5976 .append("strZoomBarrePersonnalisee=").append(getStrZoomBarrePersonnalisee()).append("\n")
5977 .append("strInfoBarrePersonnalisee=").append(getStrInfoBarrePersonnalisee()).append("\n")
5978 .append("strAideBarrePersonnalisee=").append(getStrAideBarrePersonnalisee()).append("\n")
5979 .append("strRotationBarrePersonnalisee=").append(getStrRotationBarrePersonnalisee()).append("\n")
5980 .append("strPleinEcranBarrePersonnalisee=").append(getStrPleinEcranBarrePersonnalisee()).append("\n")
5981 .append("strSourisBarrePersonnalisee=").append(getStrSourisBarrePersonnalisee()).append("\n")
5982 .append("strVisibiliteBarrePersonnalisee=").append(getStrVisibiliteBarrePersonnalisee()).append("\n")
5983 .append("strLienImageBarrePersonnalisee=").append(getStrLienImageBarrePersonnalisee()).append("\n")
5984 .append("strLien1BarrePersonnalisee=").append(getStrLien1BarrePersonnalisee()).append("\n")
5985 .append("strLien2BarrePersonnalisee=").append(getStrLien1BarrePersonnalisee()).append("\n")
5986 .append("couleurBarrePersonnalisee=").append(couleurBarrePersonnalisee).append("\n")
5987 .append("opaciteBarrePersonnalisee=").append(getOpaciteBarrePersonnalisee()).append("\n")
5988 .append("afficheTitre=").append(isbAfficheTitre()).append("\n")
5989 .append("afficheTitreVisite=").append(isbTitreVisite()).append("\n")
5990 .append("afficheTitrePanoramique=").append(isbTitrePanoramique()).append("\n")
5991 .append("titreAdapte=").append(isbTitreAdapte()).append("\n")
5992 .append("afficheDescription=").append(isbAfficheDescription()).append("\n")
5993 .append("titrePosition=").append(getStrTitrePosition()).append("\n")
5994 .append("titreDecalage=").append(Math.round(getTitreDecalage() * 100.d) / 100.d).append("\n")
5995 .append("titrePolice=").append(getStrTitrePoliceNom()).append("\n")
5996 .append("titrePoliceTaille=").append(getStrTitrePoliceTaille()).append("\n")
5997 .append("titreOpacite=").append(Math.round(getTitreOpacite() * 100.d) / 100.d).append("\n")
5998 .append("titreTaille=").append(getTitreTaille()).append("\n")
5999 .append("titreCouleur=").append(getStrCouleurTitre()).append("\n")
6000 .append("titreFondCouleur=").append(getStrCouleurFondTitre()).append("\n")
6001 .append("bOmbreIB=").append(bOmbreInfoBulle).append("\n")
6002 .append("couleurTexteIB=").append(strCouleurTexteInfoBulle).append("\n")
6003 .append("couleurFondIB=").append(strCouleurFondInfoBulle).append("\n")
6004 .append("couleurBordureIB=").append(strCouleurBordureInfoBulle).append("\n")
6005 .append("policeIB=").append(strPoliceInfoBulle).append("\n")
6006 .append("taillePoliceIB=").append(taillePoliceInfoBulle).append("\n")
6007 .append("opaciteIB=").append(opaciteInfoBulle).append("\n")
6008 .append("bordureIBLeft=").append(iTailleBordureLeft).append("\n")
6009 .append("bordureIBRight=").append(iTailleBordureRight).append("\n")
6010 .append("bordureIBTop=").append(iTailleBordureTop).append("\n")
6011 .append("bordureIBBottom=").append(iTailleBordureBottom).append("\n")
6012 .append("arrondiIBTL=").append(iArrondiTL).append("\n")
6013 .append("arrondiIBTR=").append(iArrondiTR).append("\n")
6014 .append("arrondiIBBL=").append(iArrondiBL).append("\n")
6015 .append("arrondiIBBR=").append(iArrondiBR).append("\n")
6016 .append("bFenetreInfoPersonnalise=").append(isbFenetreInfoPersonnalise()).append("\n")
6017 .append("bFenetreAidePersonnalise=").append(isbFenetreAidePersonnalise()).append("\n")
6018 .append("strFenetreInfoImage =").append(getStrFenetreInfoImage()).append("\n")
6019 .append("strFenetreAideImage=").append(getStrFenetreAideImage()).append("\n")
6020 .append("fenetreInfoTaille=").append(getFenetreInfoTaille()).append("\n")
6021 .append("fenetreAideTaille=").append(getFenetreAideTaille()).append("\n")
6022 .append("fenetreInfoPosX=").append(getFenetreInfoPosX()).append("\n")
6023 .append("fenetreInfoPosY=").append(getFenetreInfoPosY()).append("\n")
6024 .append("fenetreAidePosX=").append(getFenetreAidePosX()).append("\n")
6025 .append("fenetreAidePosY=").append(getFenetreAidePosY()).append("\n")
6026 .append("fenetreInfoOpacite=").append(getFenetreInfoOpacite()).append("\n")
6027 .append("fenetreAideOpacite=").append(getFenetreAideOpacite()).append("\n")
6028 .append("strFenetreURL=").append(getStrFenetreURL()).append("\n")
6029 .append("strFenetreTexteURL=").append(getStrFenetreTexteURL()).append("\n")
6030 .append("strFenetreURLInfobulle=").append(getStrFenetreURLInfobulle()).append("\n")
6031 .append("strFenetreURLCouleur=").append(getStrFenetreURLCouleur()).append("\n")
6032 .append("strFenetrePolice=").append(getStrFenetrePolice()).append("\n")
6033 .append("fenetrePoliceTaille=").append(getFenetrePoliceTaille()).append("\n")
6034 .append("fenetreURLPosX=").append(getFenetreURLPosX()).append("\n")
6035 .append("fenetreURLPosY=").append(getFenetreURLPosY()).append("\n")
6036 .append("strFenetreCouleurFond=").append(getStrFenetreCouleurFond()).append("\n")
6037 .append("fenetreOpaciteFond=").append(getFenetreOpaciteFond()).append("\n")
6038 .append("afficheBoussole=").append(isbAfficheBoussole()).append("\n")
6039 .append("imageBoussole=").append(getStrImageBoussole()).append("\n")
6040 .append("tailleBoussole=").append(Math.round(getTailleBoussole() * 10.d) / 10.d).append("\n")
6041 .append("positionBoussole=").append(getStrPositionBoussole()).append("\n")
6042 .append("dXBoussole=").append(Math.round(getOffsetXBoussole())).append("\n")
6043 .append("dYBoussole=").append(Math.round(getOffsetYBoussole())).append("\n")
6044 .append("opaciteBoussole=").append(Math.round(getOpaciteBoussole() * 100.d) / 100.d).append("\n")
6045 .append("aiguilleMobile=").append(isbAiguilleMobileBoussole()).append("\n")
6046 .append("afficheMasque=").append(isbAfficheMasque()).append("\n")
6047 .append("imageMasque=").append(getStrImageMasque()).append("\n")
6048 .append("tailleMasque=").append(Math.round(getTailleMasque() * 10.d) / 10.d).append("\n")
6049 .append("positionMasque=").append(getStrPositionMasque()).append("\n")
6050 .append("dXMasque=").append(Math.round(getdXMasque())).append("\n")
6051 .append("dYMasque=").append(Math.round(getdYMasque())).append("\n")
6052 .append("opaciteMasque=").append(Math.round(getOpaciteMasque() * 100.d) / 100.d).append("\n")
6053 .append("masqueNavigation=").append(isbMasqueNavigation()).append("\n")
6054 .append("masqueBoussole=").append(isbMasqueBoussole()).append("\n")
6055 .append("masqueTitre=").append(isbMasqueTitre()).append("\n")
6056 .append("masquePlan=").append(isbMasquePlan()).append("\n")
6057 .append("masqueReseaux=").append(isbMasqueReseaux()).append("\n")
6058 .append("masqueVignettes=").append(isbMasqueVignettes()).append("\n")
6059 .append("masqueCombo=").append(isbMasqueCombo()).append("\n")
6060 .append("masqueSuivPrec=").append(isbMasqueSuivPrec()).append("\n")
6061 .append("masqueHotspots=").append(isbMasqueHotspots()).append("\n")
6062 .append("afficheReseauxSociaux=").append(isbAfficheReseauxSociaux()).append("\n")
6063 .append("tailleReseauxSociaux=").append(Math.round(getTailleReseauxSociaux() * 10.d) / 10.d).append("\n")
6064 .append("positionReseauxSociaux=").append(getStrPositionReseauxSociaux()).append("\n")
6065 .append("dXReseauxSociaux=").append(Math.round(getdXReseauxSociaux())).append("\n")
6066 .append("dYReseauxSociaux=").append(Math.round(getdYReseauxSociaux())).append("\n")
6067 .append("opaciteReseauxSociaux=").append(Math.round(getOpaciteReseauxSociaux() * 100.d) / 100.d).append("\n")
6068 .append("masqueTwitter=").append(isbReseauxSociauxTwitter()).append("\n")
6069 .append("masqueMeta=").append(isbReseauxSociauxMeta()).append("\n")
6070 .append("masqueEmail=").append(isbReseauxSociauxEmail()).append("\n")
6071 .append("afficheVignettes=").append(isbAfficheVignettes()).append("\n")
6072 .append("positionVignettes=").append(getStrPositionVignettes()).append("\n")
6073 .append("opaciteVignettes=").append(Math.round(getOpaciteVignettes() * 100.d) / 100.d).append("\n")
6074 .append("tailleImageVignettes=").append(Math.round(getTailleImageVignettes())).append("\n")
6075 .append("couleurFondVignettes=").append(getStrCouleurFondVignettes()).append("\n")
6076 .append("couleurTexteVignettes=").append(getStrCouleurTexteVignettes()).append("\n")
6077 .append("replieDemarrageVignettes=").append(isbReplieDemarrageVignettes()).append("\n")
6078 .append("bAfficheComboMenu=").append(isbAfficheComboMenu()).append("\n")
6079 .append("bAfficheComboMenuImages=").append(isbAfficheComboMenuImages()).append("\n")
6080 .append("positionXComboMenu=").append(getStrPositionXComboMenu()).append("\n")
6081 .append("positionYComboMenu=").append(getStrPositionYComboMenu()).append("\n")
6082 .append("offsetXComboMenu=").append(getOffsetXComboMenu()).append("\n")
6083 .append("offsetYComboMenu=").append(getOffsetYComboMenu()).append("\n")
6084 .append("bAfficheBoutonVisiteAuto=").append(isbAfficheBoutonVisiteAuto()).append("\n")
6085 .append("tailleBoutonVisiteAuto=").append(getTailleBoutonVisiteAuto()).append("\n")
6086 .append("positionXBoutonVisiteAuto=").append(getStrPositionXBoutonVisiteAuto()).append("\n")
6087 .append("positionYBoutonVisiteAuto=").append(getStrPositionYBoutonVisiteAuto()).append("\n")
6088 .append("offsetXBoutonVisiteAuto=").append(getOffsetXBoutonVisiteAuto()).append("\n")
6089 .append("offsetYBoutonVisiteAuto=").append(getOffsetYBoutonVisiteAuto()).append("\n")
6090 .append("affichePlan=").append(isbAffichePlan()).append("\n")
6091 .append("positionPlan=").append(getStrPositionPlan()).append("\n")
6092 .append("opacitePlan=").append(Math.round(getOpacitePlan() * 100.d) / 100.d).append("\n")
6093 .append("largeurPlan=").append(Math.round(getLargeurPlan())).append("\n")
6094 .append("couleurFondPlan=").append(getStrCouleurFondPlan()).append("\n")
6095 .append("couleurTextePlan=").append(getStrCouleurTextePlan()).append("\n")
6096 .append("afficheRadar=").append(isbAfficheRadar()).append("\n")
6097 .append("opaciteRadar=").append(Math.round(getOpaciteRadar() * 100.d) / 100.d).append("\n")
6098 .append("tailleRadar=").append(Math.round(getTailleRadar())).append("\n")
6099 .append("couleurFondRadar=").append(getStrCouleurFondRadar()).append("\n")
6100 .append("couleurLigneRadar=").append(getStrCouleurLigneRadar()).append("\n")
6101 .append("replieDemarragePlan=").append(isbReplieDemarragePlan()).append("\n")
6102 .append("afficheCarte=").append(isbAfficheCarte()).append("\n")
6103 .append("nomLayer=").append(getStrNomLayers()).append("\n")
6104 .append("centreLongitude=").append(coords.getLongitude()).append("\n")
6105 .append("centreLatitude=").append(coords.getLatitude()).append("\n")
6106 .append("positionCarte=").append(getStrPositionCarte()).append("\n")
6107 .append("opaciteCarte=").append(Math.round(getOpaciteCarte() * 100.d) / 100.d).append("\n")
6108 .append("largeurCarte=").append(Math.round(getLargeurCarte())).append("\n")
6109 .append("hauteurCarte=").append(Math.round(getHauteurCarte())).append("\n")
6110 .append("zoomCarte=").append(getiFacteurZoomCarte()).append("\n")
6111 .append("couleurFondCarte=").append(getStrCouleurFondCarte()).append("\n")
6112 .append("couleurTexteCarte=").append(getStrCouleurTexteCarte()).append("\n")
6113 .append("afficheRadarCarte=").append(isbAfficheRadarCarte()).append("\n")
6114 .append("opaciteRadarCarte=").append(Math.round(getOpaciteRadarCarte() * 100.d) / 100.d).append("\n")
6115 .append("tailleRadarCarte=").append(Math.round(getTailleRadarCarte())).append("\n")
6116 .append("couleurFondRadarCarte=").append(getStrCouleurFondRadarCarte()).append("\n")
6117 .append("couleurLigneRadarCarte=").append(getStrCouleurLigneRadarCarte()).append("\n")
6118 .append("replieDemarrageCarte=").append(isbReplieDemarrageCarte()).append("\n")
6119 .append("afficheMenuContextuel=").append(isbAfficheMenuContextuel()).append("\n")
6120 .append("affichePrecSuivMC=").append(isbAffichePrecSuivMC()).append("\n")
6121 .append("affichePlaneteNormalMC=").append(isbAffichePlanetNormalMC()).append("\n")
6122 .append("affichePersMC1=").append(isbAffichePersMC1()).append("\n")
6123 .append("affichePersMC2=").append(isbAffichePersMC2()).append("\n")
6124 .append("txtPersLib1=").append(getStrPersLib1()).append("\n")
6125 .append("txtPersLib2=").append(getStrPersLib2()).append("\n")
6126 .append("txtPersURL1=").append(getStrPersURL1()).append("\n")
6127 .append("txtPersURL2=").append(getStrPersURL2()).append("\n")
6128 .append("calqueTitre=").append(getiCalqueTitre()).append("\n")
6129 .append("calqueBarreClassique=").append(getiCalqueBarreClassique()).append("\n")
6130 .append("calqueBarrePersonnalisee=").append(getiCalqueBarrePersonnalisee()).append("\n")
6131 .append("calqueMasquage=").append(getiCalqueMasquage()).append("\n")
6132 .append("calquePartage=").append(getiCalquePartage()).append("\n")
6133 .append("calqueVisiteAuto=").append(getiCalqueVisiteAuto()).append("\n")
6134 .append("calquePlan=").append(getiCalquePlan()).append("\n")
6135 .append("calqueCarte=").append(getiCalqueCarte()).append("\n")
6136 .append("calqueSuivPrec=").append(getiCalqueSuivPrec()).append("\n")
6137 .append("calqueBoussole=").append(getiCalqueBoussole()).append("\n")
6138 .append("calqueVignettes=").append(getiCalqueVignettes()).append("\n")
6139 .append("calqueMenuPanoramiques=").append(getiCalqueMenuPanoramiques()).append("\n")
6140 .append("nombreImagesFond=").append(getiNombreImagesFond()).append("\n");
6141 for (int i = 0; i < getiNombreImagesFond(); i++) {
6142 sb.append("<");
6143 sb.append("image=").append(getImagesFond()[i].getStrFichierImage()).append("#");
6144 sb.append("posX=").append(getImagesFond()[i].getStrPosX()).append("#");
6145 sb.append("posY=").append(getImagesFond()[i].getStrPosY()).append("#");
6146 sb.append("offsetX=").append(getImagesFond()[i].getOffsetX()).append("#");
6147 sb.append("offsetY=").append(getImagesFond()[i].getOffsetY()).append("#");
6148 sb.append("tailleX=").append(getImagesFond()[i].getTailleX()).append("#");
6149 sb.append("tailleY=").append(getImagesFond()[i].getTailleY()).append("#");
6150 sb.append("opacite=").append(getImagesFond()[i].getOpacite()).append("#");
6151 sb.append("masquable=").append(getImagesFond()[i].isMasquable()).append("#");
6152 sb.append("type=").append(getImagesFond()[i].getStrType()).append("#");
6153 sb.append("numDiapo=").append(getImagesFond()[i].getiNumDiapo()).append("#");
6154 sb.append("cible=").append(getImagesFond()[i].getStrCible()).append("#");
6155 sb.append("url=").append(getImagesFond()[i].getStrUrl()).append("#");
6156 sb.append("infobulle=").append(getImagesFond()[i].getStrInfobulle().replace(";", "&pv").replace(":", "&dp").replace("#", "&ds")).append("#");
6157 sb.append("calque=").append(getImagesFond()[i].getiCalqueImage()).append("#");
6158 sb.append(">\n");
6159 }
6160
6161 return sb.toString();
6162 }
6163
6185 setbAfficheBoussole(false);
6186 setbAfficheMasque(false);
6187 setbAfficheVignettes(false);
6189 setiCalqueTitre(1);
6195 setiCalquePlan(1);
6196 setiCalqueCarte(1);
6202 for (String strChaine : strTemplate) {
6203 if (strChaine.split("image=").length > 1) {
6205 strChaine = strChaine.replace("<", "");
6206 strChaine = strChaine.replace(">", "");
6207 String[] strElements = strChaine.split("#");
6208 for (String strTexte1 : strElements) {
6209 String strVariable = strTexte1.split("=")[0];
6210 String strValeur = "";
6211 if (strTexte1.split("=").length > 1) {
6212 strValeur = strTexte1.split("=")[1];
6213 }
6214 switch (strVariable) {
6215 case "image":
6217 fileRepertoirePlan = new File(getStrRepertTemp() + File.separator + "images");
6218 if (!fileRepertoirePlan.exists()) {
6219 fileRepertoirePlan.mkdirs();
6220 }
6221 File imgPano = new File(getImagesFond()[getiNombreImagesFond()].getStrFichierImage());
6222 String strFich = imgPano.getPath().substring(imgPano.getPath().lastIndexOf(File.separator));
6223 File fNouvFichier = new File(
6224 getStrRepertTemp()
6225 + File.separator
6226 + "images"
6227 + File.separator
6228 + strFich
6229 );
6230 try {
6231 if (imgPano.exists()) {
6232 copieFichierRepertoire(imgPano.getPath(), fileRepertoirePlan.getAbsolutePath());
6233 } else {
6234 String strExtension = imgPano.getPath().substring(imgPano.getPath().lastIndexOf(".") + 1);
6236 = getStrRepertAppli()
6238 + "images"
6240 + "imagePasTrouvee2."
6241 + strExtension;
6242 copieFichierRepertoire(nomFichier, fileRepertoirePlan.getAbsolutePath());
6243 File fFichier = new File(getStrRepertTemp()
6244 + File.separator
6245 + "images"
6246 + File.separator
6247 + "imagePasTrouvee2."
6248 + strExtension);
6249 fFichier.renameTo(fNouvFichier);
6250 }
6251 } catch (IOException ex) {
6252 Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
6253 }
6254 getImagesFond()[getiNombreImagesFond()].setImgFond(new Image("file:" + fNouvFichier.getAbsolutePath()));
6255 break;
6256 case "posX":
6258 break;
6259 case "posY":
6261 break;
6262 case "url":
6264 break;
6265 case "infobulle":
6266 getImagesFond()[getiNombreImagesFond()].setStrInfobulle(strValeur.replace("&pv", ";").replace("&dp", ":").replace("&ds", "#"));
6267 break;
6268 case "type":
6270 break;
6271 case "offsetX":
6273 break;
6274 case "offsetY":
6276 break;
6277 case "opacite":
6279 break;
6280 case "numDiapo":
6282 break;
6283 case "calque":
6285 break;
6286 case "cible":
6288 break;
6289 case "masquable":
6291 break;
6292 case "tailleX":
6294 break;
6295 case "tailleY":
6297 break;
6298 }
6299 }
6301 } else {
6302 String strVariable = strChaine.split("=")[0];
6303 String strValeur = "";
6304 if (strChaine.split("=").length > 1) {
6305 strValeur = strChaine.split("=")[1];
6306 }
6307 switch (strVariable) {
6308 case "couleurTheme":
6309 break;
6310 case "couleurBoutons":
6312 break;
6313 case "couleurHotspots":
6315 break;
6316 case "couleurHotspotsPhoto":
6318 break;
6319 case "couleurHotspotsHTML":
6321 break;
6322 case "tailleHotspots":
6324 break;
6325 case "tailleHotspotsPhoto":
6327 break;
6328 case "tailleHotspotsHTML":
6330 break;
6331 case "couleurMasque":
6333 break;
6334 case "styleBarre":
6336 break;
6337 case "suivantPrecedent":
6338 setbSuivantPrecedent(strValeur.equals("true"));
6339 break;
6340 case "styleHotspots":
6341 String strExtension = strValeur.substring(strValeur.length() - 3, strValeur.length());
6342 strTypeHS = strExtension.toLowerCase();
6345 break;
6346 case "styleHotspotImages":
6347 String strExtension1 = strValeur.substring(strValeur.length() - 3, strValeur.length());
6348 strTypeHSImage = strExtension1.toLowerCase();
6351 break;
6352 case "styleHotspotHTML":
6353 String strExtension2 = strValeur.substring(strValeur.length() - 3, strValeur.length());
6354 strTypeHSHTML = strExtension2.toLowerCase();
6357 break;
6358 case "position":
6360 break;
6361 case "dX":
6363 break;
6364 case "dY":
6366 break;
6367 case "visible":
6369 break;
6370 case "deplacement":
6372 break;
6373 case "zoom":
6375 break;
6376 case "outils":
6378 break;
6379 case "rotation":
6381 break;
6382 case "FS":
6384 break;
6385 case "souris":
6387 break;
6388 case "espacementBoutons":
6390 break;
6391 case "bCouleurOrigineBarrePersonnalisee":
6393 break;
6394 case "nombreZonesBarrePersonnalisee":
6396 break;
6397 case "offsetXBarrePersonnalisee":
6399 break;
6400 case "offsetYBarrePersonnalisee":
6402 break;
6403 case "tailleBarrePersonnalisee":
6405 break;
6406 case "tailleIconesBarrePersonnalisee":
6408 break;
6409 case "strPositionBarrePersonnalisee":
6411 break;
6412 case "strDeplacementsBarrePersonnalisee":
6414 break;
6415 case "strZoomBarrePersonnalisee":
6417 break;
6418 case "strInfoBarrePersonnalisee":
6420 break;
6421 case "strAideBarrePersonnalisee":
6423 break;
6424 case "strRotationBarrePersonnalisee":
6426 break;
6427 case "strPleinEcranBarrePersonnalisee":
6429 break;
6430 case "strSourisBarrePersonnalisee":
6432 break;
6433 case "strVisibiliteBarrePersonnalisee":
6435 break;
6436 case "strLienImageBarrePersonnalisee":
6438 break;
6439 case "strLien1BarrePersonnalisee":
6441 break;
6442 case "strLien2BarrePersonnalisee":
6444 break;
6445 case "couleurBarrePersonnalisee":
6447 break;
6448 case "opaciteBarrePersonnalisee":
6450 break;
6451 case "afficheTitre":
6452 setbAfficheTitre(strValeur.equals("true"));
6453 break;
6454 case "afficheTitreVisite":
6455 setbTitreVisite(strValeur.equals("true"));
6456 break;
6457 case "afficheTitrePanoramique":
6458 setbTitrePanoramique(strValeur.equals("true"));
6459 break;
6460 case "titreAdapte":
6461 setbTitreAdapte(strValeur.equals("true"));
6462 break;
6463 case "afficheDescription":
6464 setbAfficheDescription(strValeur.equals("true"));
6465 break;
6466 case "titrePosition":
6468 break;
6469 case "titreDecalage":
6470 setTitreDecalage(Double.parseDouble(strValeur));
6471 break;
6472 case "titrePolice":
6474 break;
6475 case "titrePoliceTaille":
6477 break;
6478 case "titreOpacite":
6479 setTitreOpacite(Double.parseDouble(strValeur));
6480 break;
6481 case "titreTaille":
6482 setTitreTaille(Double.parseDouble(strValeur));
6483 break;
6484 case "titreCouleur":
6486 break;
6487 case "titreFondCouleur":
6489 break;
6490 case "bOmbreIB":
6491 bOmbreInfoBulle = strValeur.equals("true");
6492 break;
6493 case "couleurTexteIB":
6495 break;
6496 case "couleurFondIB":
6498 break;
6499 case "couleurBordureIB":
6501 break;
6502 case "policeIB":
6504 break;
6505 case "taillePoliceIB":
6506 taillePoliceInfoBulle = Double.parseDouble(strValeur);
6507 break;
6508 case "opaciteIB":
6509 opaciteInfoBulle = Double.parseDouble(strValeur);
6510 break;
6511 case "bordureIBLeft":
6513 break;
6514 case "bordureIBRight":
6516 break;
6517 case "bordureIBTop":
6519 break;
6520 case "bordureIBBottom":
6522 break;
6523 case "arrondiIBTL":
6524 iArrondiTL = Integer.parseInt(strValeur);
6525 break;
6526 case "arrondiIBTR":
6527 iArrondiTR = Integer.parseInt(strValeur);
6528 break;
6529 case "arrondiIBBL":
6530 iArrondiBL = Integer.parseInt(strValeur);
6531 break;
6532 case "arrondiIBBR":
6533 iArrondiBR = Integer.parseInt(strValeur);
6534 break;
6535 case "bFenetreInfoPersonnalise":
6536 setbFenetreInfoPersonnalise(strValeur.equals("true"));
6537 break;
6538 case "bFenetreAidePersonnalise":
6539 setbFenetreAidePersonnalise(strValeur.equals("true"));
6540 break;
6541 case "strFenetreInfoImage ":
6543 if (!strFenetreInfoImage.equals("")) {
6544 fileRepertoirePlan = new File(getStrRepertTemp() + File.separator + "images");
6545 if (!fileRepertoirePlan.exists()) {
6546 fileRepertoirePlan.mkdirs();
6547 }
6548 try {
6549 copieFichierRepertoire(getStrFenetreInfoImage(), fileRepertoirePlan.getAbsolutePath());
6550 } catch (IOException ex) {
6551 Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
6552 }
6553 }
6554 break;
6555 case "strFenetreAideImage":
6557 if (!strFenetreAideImage.equals("")) {
6558 fileRepertoirePlan = new File(getStrRepertTemp() + File.separator + "images");
6559 if (!fileRepertoirePlan.exists()) {
6560 fileRepertoirePlan.mkdirs();
6561 }
6562 try {
6563 copieFichierRepertoire(getStrFenetreAideImage(), fileRepertoirePlan.getAbsolutePath());
6564 } catch (IOException ex) {
6565 Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
6566 }
6567 }
6568 break;
6569 case "fenetreInfoTaille":
6571 break;
6572 case "fenetreAideTaille":
6574 break;
6575 case "fenetreInfoPosX":
6576 setFenetreInfoPosX(Double.parseDouble(strValeur));
6577 break;
6578 case "fenetreInfoPosY":
6579 setFenetreInfoPosY(Double.parseDouble(strValeur));
6580 break;
6581 case "fenetreAidePosX":
6582 setFenetreAidePosX(Double.parseDouble(strValeur));
6583 break;
6584 case "fenetreAidePosY":
6585 setFenetreAidePosY(Double.parseDouble(strValeur));
6586 break;
6587 case "fenetreInfoOpacite":
6589 break;
6590 case "fenetreAideOpacite":
6592 break;
6593 case "strFenetreURL":
6595 break;
6596 case "strFenetreTexteURL":
6598 break;
6599 case "strFenetreURLInfobulle":
6601 break;
6602 case "strFenetreURLCouleur":
6604 break;
6605 case "strFenetrePolice":
6607 break;
6608 case "fenetrePoliceTaille":
6610 break;
6611 case "fenetreURLPosX":
6612 setFenetreURLPosX(Double.parseDouble(strValeur));
6613 break;
6614 case "fenetreURLPosY":
6615 setFenetreURLPosY(Double.parseDouble(strValeur));
6616 break;
6617 case "strFenetreCouleurFond":
6619 break;
6620 case "fenetreOpaciteFond":
6622 break;
6623 case "afficheBoussole":
6624 setbAfficheBoussole(strValeur.equals("true"));
6625 break;
6626 case "imageBoussole":
6628 break;
6629 case "tailleBoussole":
6630 setTailleBoussole(Double.parseDouble(strValeur));
6631 break;
6632 case "positionBoussole":
6634 break;
6635 case "dXBoussole":
6636 setOffsetXBoussole(Double.parseDouble(strValeur));
6637 break;
6638 case "dYBoussole":
6639 setOffsetYBoussole(Double.parseDouble(strValeur));
6640 break;
6641 case "opaciteBoussole":
6642 setOpaciteBoussole(Double.parseDouble(strValeur));
6643 break;
6644 case "aiguilleMobile":
6645 setbAiguilleMobileBoussole(strValeur.equals("true"));
6646 break;
6647 case "afficheMasque":
6648 setbAfficheMasque(strValeur.equals("true"));
6649 break;
6650 case "imageMasque":
6652 break;
6653 case "tailleMasque":
6654 setTailleMasque(Double.parseDouble(strValeur));
6655 break;
6656 case "positionMasque":
6658 break;
6659 case "dXMasque":
6660 setdXMasque(Double.parseDouble(strValeur));
6661 break;
6662 case "dYMasque":
6663 setdYMasque(Double.parseDouble(strValeur));
6664 break;
6665 case "opaciteMasque":
6666 setOpaciteMasque(Double.parseDouble(strValeur));
6667 break;
6668 case "masqueNavigation":
6669 setbMasqueNavigation(strValeur.equals("true"));
6670 break;
6671 case "masqueBoussole":
6672 setbMasqueBoussole(strValeur.equals("true"));
6673 break;
6674 case "masqueTitre":
6675 setbMasqueTitre(strValeur.equals("true"));
6676 break;
6677 case "masquePlan":
6678 setbMasquePlan(strValeur.equals("true"));
6679 break;
6680 case "masqueReseaux":
6681 setbMasqueReseaux(strValeur.equals("true"));
6682 break;
6683 case "masqueVignettes":
6684 setbMasqueVignettes(strValeur.equals("true"));
6685 break;
6686 case "masqueCombo":
6687 setbMasqueCombo(strValeur.equals("true"));
6688 break;
6689 case "masqueSuivPrec":
6690 setbMasqueSuivPrec(strValeur.equals("true"));
6691 break;
6692 case "masqueHotspots":
6693 setbMasqueHotspots(strValeur.equals("true"));
6694 break;
6695 case "afficheReseauxSociaux":
6696 setbAfficheReseauxSociaux(strValeur.equals("true"));
6697 break;
6698 case "tailleReseauxSociaux":
6700 break;
6701 case "positionReseauxSociaux":
6703 break;
6704 case "dXReseauxSociaux":
6705 setdXReseauxSociaux(Double.parseDouble(strValeur));
6706 break;
6707 case "dYReseauxSociaux":
6708 setdYReseauxSociaux(Double.parseDouble(strValeur));
6709 break;
6710 case "opaciteReseauxSociaux":
6712 break;
6713 case "masqueTwitter":
6714 setbReseauxSociauxTwitter(strValeur.equals("true"));
6715 break;
6716 case "masqueMeta":
6717 setbReseauxSociauxMeta(strValeur.equals("true"));
6718 break;
6719 case "masqueGoogle":
6720 // Ancien paramètre, redirigé vers Meta
6721 setbReseauxSociauxMeta(strValeur.equals("true"));
6722 break;
6723 case "masqueFacebook":
6724 // Ancien paramètre, redirigé vers Meta
6725 setbReseauxSociauxMeta(strValeur.equals("true"));
6726 break;
6727 case "masqueEmail":
6728 setbReseauxSociauxEmail(strValeur.equals("true"));
6729 break;
6730 case "afficheVignettes":
6731 setbAfficheVignettes(strValeur.equals("true"));
6732 break;
6733 case "positionVignettes":
6735 break;
6736 case "opaciteVignettes":
6737 setOpaciteVignettes(Double.parseDouble(strValeur));
6738 break;
6739 case "tailleImageVignettes":
6741 break;
6742 case "couleurFondVignettes":
6744 break;
6745 case "couleurTexteVignettes":
6747 break;
6748 case "replieDemarrageVignettes":
6750 break;
6751
6752 case "bAfficheComboMenu":
6753 setbAfficheComboMenu(strValeur.equals("true"));
6754 break;
6755 case "bAfficheComboMenuImages":
6756 setbAfficheComboMenuImages(strValeur.equals("true"));
6757 break;
6758 case "positionXComboMenu":
6760 break;
6761 case "positionYComboMenu":
6763 break;
6764 case "offsetXComboMenu":
6765 setOffsetXComboMenu(Double.parseDouble(strValeur));
6766 break;
6767 case "offsetYComboMenu":
6768 setOffsetYComboMenu(Double.parseDouble(strValeur));
6769 break;
6770 case "bAfficheBoutonVisiteAuto":
6771 setbAfficheBoutonVisiteAuto(strValeur.equals("true"));
6772 break;
6773 case "positionXBoutonVisiteAuto":
6775 break;
6776 case "tailleBoutonVisiteAuto":
6778 break;
6779 case "positionYBoutonVisiteAuto":
6781 break;
6782 case "offsetXBoutonVisiteAuto":
6784 break;
6785 case "offsetYBoutonVisiteAuto":
6787 break;
6788 case "affichePlan":
6789 setbAffichePlan(strValeur.equals("true"));
6790 break;
6791 case "positionPlan":
6793 break;
6794 case "opacitePlan":
6795 setOpacitePlan(Double.parseDouble(strValeur));
6796 break;
6797 case "largeurPlan":
6798 setLargeurPlan(Double.parseDouble(strValeur));
6799 break;
6800 case "couleurFondPlan":
6803 break;
6804 case "couleurTextePlan":
6807 break;
6808 case "afficheRadar":
6809 setbAfficheRadar(strValeur.equals("true"));
6810 break;
6811 case "opaciteRadar":
6812 setOpaciteRadar(Double.parseDouble(strValeur));
6813 break;
6814 case "tailleRadar":
6815 setTailleRadar(Double.parseDouble(strValeur));
6816 break;
6817 case "couleurFondRadar":
6820 break;
6821 case "couleurLigneRadar":
6824 break;
6825 case "replieDemarragePlan":
6826 setbReplieDemarragePlan(strValeur.equals("true"));
6827 break;
6828 case "afficheCarte":
6829 setbAfficheCarte(strValeur.equals("true"));
6830 break;
6831 case "nomLayer":
6833 break;
6834 case "centreLongitude":
6835 if (!isbTemplate()) {
6838 }
6839 break;
6840 case "centreLatitude":
6841 if (!isbTemplate()) {
6843 }
6844 break;
6845 case "positionCarte":
6847 break;
6848 case "opaciteCarte":
6849 setOpaciteCarte(Double.parseDouble(strValeur));
6850 break;
6851 case "largeurCarte":
6852 setLargeurCarte(Double.parseDouble(strValeur));
6853 break;
6854 case "hauteurCarte":
6855 setHauteurCarte(Double.parseDouble(strValeur));
6856 break;
6857 case "zoomCarte":
6858 if (!isbTemplate()) {
6859 setiFacteurZoomCarte(Integer.parseInt(strValeur) + 1);
6860 }
6861 break;
6862 case "couleurFondCarte":
6865 break;
6866 case "couleurTexteCarte":
6869 break;
6870 case "afficheRadarCarte":
6871 setbAfficheRadarCarte(strValeur.equals("true"));
6872 break;
6873 case "opaciteRadarCarte":
6875 break;
6876 case "tailleRadarCarte":
6877 setTailleRadarCarte(Double.parseDouble(strValeur));
6878 break;
6879 case "couleurFondRadarCarte":
6882 break;
6883 case "couleurLigneRadarCarte":
6886 break;
6887 case "replieDemarrageCarte":
6888 setbReplieDemarrageCarte(strValeur.equals("true"));
6889 break;
6890 case "afficheMenuContextuel":
6891 setbAfficheMenuContextuel(strValeur.equals("true"));
6892 break;
6893 case "affichePrecSuivMC":
6894 setbAffichePrecSuivMC(strValeur.equals("true"));
6895 break;
6896 case "affichePlaneteNormalMC":
6897 setbAffichePlanetNormalMC(strValeur.equals("true"));
6898 break;
6899 case "affichePersMC1":
6900 setbAffichePersMC1(strValeur.equals("true"));
6901 break;
6902 case "affichePersMC2":
6903 setbAffichePersMC2(strValeur.equals("true"));
6904 break;
6905 case "txtPersLib1":
6907 break;
6908 case "txtPersLib2":
6910 break;
6911 case "txtPersURL1":
6913 break;
6914 case "txtPersURL2":
6916 break;
6917 case "calqueTitre":
6919 break;
6920 case "calqueBarreClassique":
6922 break;
6923 case "calqueBarrePersonnalisee":
6925 break;
6926 case "calqueMasquage":
6928 break;
6929 case "calquePartage":
6931 break;
6932 case "calqueVisiteAuto":
6934 break;
6935 case "calquePlan":
6936 setiCalquePlan(Integer.parseInt(strValeur));
6937 break;
6938 case "calqueCarte":
6940 break;
6941 case "calqueBoussole":
6943 break;
6944 case "calqueVignettes":
6946 break;
6947 case "calqueSuivPrec":
6949 break;
6950 case "calqueMenuPanoramiques":
6952 break;
6953
6954 }
6955 }
6956 }
6957 }
6958
6980 apVisualisation.getChildren().clear();
6982
6983 //lblTxtTitre.setTextFill(Color.valueOf(getStrCouleurTitre()));
6985 int iRouge = (int) (couleur.getRed() * 255.d);
6986 int iBleu = (int) (couleur.getBlue() * 255.d);
6987 int iVert = (int) (couleur.getGreen() * 255.d);
6988 String strCoulFond = "rgba(" + iRouge + "," + iVert + "," + iBleu + "," + getTitreOpacite() + ")";
6989 lblTxtTitre.setStyle("-fx-text-fill : " + getStrCouleurTitre() + ";-fx-background-color : " + strCoulFond);
6990 double taille = (double) getTitreTaille() / 100.d * getVisualisationWidth();
6991 lblTxtTitre.setMinWidth(taille);
6992 lblTxtTitre.setLayoutX(ivVisualisation.getLayoutX() + (getVisualisationWidth() - lblTxtTitre.getMinWidth()) / 2);
6994 lblTxtTitre.setFont(fonte1);
6995 lblTxtTitre.setPrefHeight(-1);
6996 lblTxtTitre.setVisible(isbAfficheTitre());
6997 fonte1 = Font.font(getStrTitrePoliceNom(), Double.parseDouble(getStrTitrePoliceTaille()) * 3.d / 4.d);
6998 lblTxtTitre2.setFont(fonte1);
6999 lblTxtTitre2.setPrefHeight(-1);
7000 lblTxtTitre2.setStyle("-fx-text-fill : " + getStrCouleurTitre() + ";-fx-background-color : " + strCoulFond);
7001
7002 cbTitreVisite.setSelected(isbTitreVisite());
7004 cbTitreAdapte.setSelected(isbTitreAdapte());
7006 switch (getStrTitrePosition()) {
7007 case "left":
7008 rbLeftTitre.setSelected(true);
7009 break;
7010 case "center":
7011 rbCenterTitre.setSelected(true);
7012 break;
7013 case "right":
7014 rbRightTitre.setSelected(true);
7015 break;
7016 }
7017 cbAfficheTitre.setSelected(isbAfficheTitre());
7018 cpCouleurTitre.setValue(Color.valueOf(getStrCouleurTitre()));
7019 cpCouleurFondTitre.setValue(Color.valueOf(getStrCouleurFondTitre()));
7020 cbOmbreInfoBulle.setSelected(bOmbreInfoBulle);
7042
7044 slOpaciteTitre.setValue(getTitreOpacite());
7049 cbBarreClassiqueVisible.setSelected(true);
7050 } else {
7051 cbBarreClassiqueVisible.setSelected(false);
7052 }
7054 cbDeplacementsBarreClassique.setSelected(true);
7055 } else {
7056 cbDeplacementsBarreClassique.setSelected(false);
7057 }
7058 if (getStrZoomBarreClassique().equals("oui")) {
7059 cbZoomBarreClassique.setSelected(true);
7060 } else {
7061 cbZoomBarreClassique.setSelected(false);
7062 }
7063 if (getStrOutilsBarreClassique().equals("oui")) {
7064 cbOutilsBarreClassique.setSelected(true);
7065 } else {
7066 cbOutilsBarreClassique.setSelected(false);
7067 }
7068 switch (getStrPositionBarreClassique()) {
7069 case "top:left":
7070 rbTopLeftBarreClassique.setSelected(true);
7071 break;
7072 case "top:center":
7073 rbTopCenterBarreClassique.setSelected(true);
7074 break;
7075 case "top:right":
7076 rbTopRightBarreClassique.setSelected(true);
7077 break;
7078 case "middle:left":
7079 rbMiddleLeftBarreClassique.setSelected(true);
7080 break;
7081 case "middle:right":
7082 rbMiddleRightBarreClassique.setSelected(true);
7083 break;
7084 case "bottom:left":
7085 rbBottomLeftBarreClassique.setSelected(true);
7086 break;
7087 case "bottom:center":
7088 rbBottomCenterBarreClassique.setSelected(true);
7089 break;
7090 case "bottom:right":
7091 rbBottomRightBarreClassique.setSelected(true);
7092 break;
7093 }
7094
7095 if (getStrRotationBarreClassique().equals("oui")) {
7096 cbRotationBarreClassique.setSelected(true);
7097 } else {
7098 cbRotationBarreClassique.setSelected(false);
7099 }
7101 cbFSBarreClassique.setSelected(true);
7102 } else {
7103 cbFSBarreClassique.setSelected(false);
7104 }
7105 if (getStrSourisBarreClassique().equals("oui")) {
7106 cbSourisBarreClassique.setSelected(true);
7107 } else {
7108 cbSourisBarreClassique.setSelected(false);
7109 }
7112
7115
7122 case "top:left":
7123 rbTopLeftBarrePersonnalisee.setSelected(true);
7124 break;
7125 case "top:center":
7126 rbTopCenterBarrePersonnalisee.setSelected(true);
7127 break;
7128 case "top:right":
7129 rbTopRightBarrePersonnalisee.setSelected(true);
7130 break;
7131 case "middle:left":
7132 rbMiddleLeftBarrePersonnalisee.setSelected(true);
7133 break;
7134 case "middle:right":
7135 rbMiddleRightBarrePersonnalisee.setSelected(true);
7136 break;
7137 case "bottom:left":
7138 rbBottomLeftBarrePersonnalisee.setSelected(true);
7139 break;
7140 case "bottom:center":
7141 rbBottomCenterBarrePersonnalisee.setSelected(true);
7142 break;
7143 case "bottom:right":
7144 rbBottomRightBarrePersonnalisee.setSelected(true);
7145 break;
7146
7147 }
7158 }
7172 tfFenetreURL.setText(getStrFenetreURL());
7182 slTaillePoliceTitre.setValue(Double.parseDouble(getStrTitrePoliceTaille()));
7184 slTailleTitre.setValue(getTitreTaille());
7185 apVisualisation.getChildren().remove(hbbarreBoutons);
7186 apVisualisation.getChildren().remove(ivHotSpotPanoramique);
7187 apVisualisation.getChildren().remove(ivHotSpotImage);
7188 apVisualisation.getChildren().remove(ivHotSpotHTML);
7195 rbBoussTopLeft.setSelected(getStrPositionBoussole().equals("top:left"));
7196 rbBoussBottomLeft.setSelected(getStrPositionBoussole().equals("bottom:left"));
7197 rbBoussTopRight.setSelected(getStrPositionBoussole().equals("top:right"));
7198 rbBoussBottomRight.setSelected(getStrPositionBoussole().equals("bottom:right"));
7199 slTailleMasque.setValue(getTailleMasque());
7204 cbMasqueBoussole.setSelected(isbMasqueBoussole());
7205 cbMasqueTitre.setSelected(isbMasqueTitre());
7206 cbMasquePlan.setSelected(isbMasquePlan());
7207 cbMasqueReseaux.setSelected(isbMasqueReseaux());
7209 cbMasqueCombo.setSelected(isbMasqueCombo());
7210 cbMasqueSuivPrec.setSelected(isbMasqueSuivPrec());
7211 cbMasqueHotspots.setSelected(isbMasqueHotspots());
7212 cbAfficheMasque.setSelected(isbAfficheMasque());
7213 rbMasqueTopLeft.setSelected(getStrPositionMasque().equals("top:left"));
7214 rbMasqueBottomLeft.setSelected(getStrPositionMasque().equals("bottom:left"));
7215 rbMasqueTopRight.setSelected(getStrPositionMasque().equals("top:right"));
7216 rbMasqueBottomRight.setSelected(getStrPositionMasque().equals("bottom:right"));
7232 rbVignettesLeft.setSelected(getStrPositionVignettes().equals("left"));
7233 rbVignettesRight.setSelected(getStrPositionVignettes().equals("right"));
7234 rbVignettesBottom.setSelected(getStrPositionVignettes().equals("bottom"));
7241 switch (strPosit) {
7242 case "top:left":
7243 rbComboMenuTopLeft.setSelected(true);
7244 break;
7245 case "top:center":
7246 rbComboMenuTopCenter.setSelected(true);
7247 break;
7248 case "top:right":
7249 rbComboMenuTopRight.setSelected(true);
7250 break;
7251 case "bottom:left":
7252 rbComboMenuBottomLeft.setSelected(true);
7253 break;
7254 case "bottom:center":
7255 rbComboMenuBottomCenter.setSelected(true);
7256 break;
7257 case "bottom:right":
7258 rbComboMenuBottomRight.setSelected(true);
7259 break;
7260 }
7265 switch (strPosit1) {
7266 case "top:left":
7267 rbBoutonVisiteAutoTopLeft.setSelected(true);
7268 break;
7269 case "top:center":
7270 rbBoutonVisiteAutoTopCenter.setSelected(true);
7271 break;
7272 case "top:right":
7273 rbBoutonVisiteAutoTopRight.setSelected(true);
7274 break;
7275 case "bottom:left":
7276 rbBoutonVisiteAutoBottomLeft.setSelected(true);
7277 break;
7278 case "bottom:center":
7279 rbBoutonVisiteAutoBottomCenter.setSelected(true);
7280 break;
7281 case "bottom:right":
7282 rbBoutonVisiteAutoBottomRight.setSelected(true);
7283 break;
7284 }
7288 cbAffichePlan.setSelected(isbAffichePlan());
7289 slOpacitePlan.setValue(getOpacitePlan());
7290 slLargeurPlan.setValue(getLargeurPlan());
7291 rbPlanLeft.setSelected(getStrPositionPlan().equals("left"));
7292 rbPlanRight.setSelected(getStrPositionPlan().equals("right"));
7295 if (isbAffichePlan()) {
7296 getTabPlan().setDisable(!isbAffichePlan());
7297 getMniAffichagePlan().setDisable(!isbAffichePlan());
7298 getIvAjouterPlan().setDisable(!isbAffichePlan());
7299 getMniAjouterPlan().setDisable(!isbAffichePlan());
7300 if (isbAffichePlan()) {
7301 getIvAjouterPlan().setOpacity(1.0);
7302 } else {
7303 getIvAjouterPlan().setOpacity(0.3);
7304 }
7305
7306 }
7307 cbAfficheRadar.setSelected(isbAfficheRadar());
7308 slOpaciteRadar.setValue(getOpaciteRadar());
7309 slTailleRadar.setValue(getTailleRadar());
7313 cbAfficheCarte.setSelected(isbAfficheCarte());
7314 slOpaciteCarte.setValue(getOpaciteCarte());
7315 slLargeurCarte.setValue(getLargeurCarte());
7316 slHauteurCarte.setValue(getHauteurCarte());
7318 rbCarteLeft.setSelected(getStrPositionCarte().equals("left"));
7319 rbCarteRight.setSelected(getStrPositionCarte().equals("right"));
7327 if (isbInternet() && navigateurCarteOL != null) {
7329 }
7334 cbAffichePersMC1.setSelected(isbAffichePersMC1());
7335 cbAffichePersMC2.setSelected(isbAffichePersMC2());
7336 tfPersLib1.setText(getStrPersLib1());
7337 tfPersLib2.setText(getStrPersLib2());
7338 tfPersURL1.setText(getStrPersURL1());
7339 tfPersURL2.setText(getStrPersURL2());
7343 afficheMasque();
7346 changeCouleurMasque(couleurMasque.getHue(), couleurMasque.getSaturation(), couleurMasque.getBrightness());
7347 changeCouleurHS(couleurHotspots.getHue(), couleurHotspots.getSaturation(), couleurHotspots.getBrightness());
7348 changeCouleurHSPhoto(couleurHotspotsPhoto.getHue(), couleurHotspotsPhoto.getSaturation(), couleurHotspotsPhoto.getBrightness());
7349 changeCouleurHSHTML(couleurHotspotsHTML.getHue(), couleurHotspotsHTML.getSaturation(), couleurHotspotsHTML.getBrightness());
7351 affichePlan();
7352 afficheCarte();
7361 cbNiveauSuivPrec.getSelectionModel().select(getiCalqueSuivPrec() - 1);
7362 cbNiveauTitre.getSelectionModel().select(getiCalqueTitre() - 1);
7363 cbNiveauBarreClassique.getSelectionModel().select(getiCalqueBarreClassique() - 1);
7364 cbNiveauBarrePersonnalisee.getSelectionModel().select(getiCalqueBarrePersonnalisee() - 1);
7365 cbNiveauBoussole.getSelectionModel().select(getiCalqueBoussole() - 1);
7366 cbNiveauMasque.getSelectionModel().select(getiCalqueMasquage() - 1);
7367 cbNiveauPartage.getSelectionModel().select(getiCalquePartage() - 1);
7368 cbNiveauVignettes.getSelectionModel().select(getiCalqueVignettes() - 1);
7369 cbNiveauComboMenu.getSelectionModel().select(getiCalqueMenuPanoramiques() - 1);
7370 cbNiveauPlan.getSelectionModel().select(getiCalquePlan() - 1);
7371 cbNiveauCarte.getSelectionModel().select(getiCalqueCarte() - 1);
7372 cbNiveauVisiteAuto.getSelectionModel().select(getiCalqueVisiteAuto() - 1);
7374 setbDejaSauve(true);
7375 }
7376
7398 public void rafraichit() {
7399
7400 cbImage.getItems().clear();
7401 if (getiNombrePanoramiques() > 0) {
7402 rbPerso.setDisable(false);
7403 String strImgAffiche = "";
7404 if (cbImage.getSelectionModel().getSelectedItem() != null) {
7405 strImgAffiche = cbImage.getSelectionModel().getSelectedItem().toString();
7406 }
7407 for (int i = 0; i < getiNombrePanoramiques(); i++) {
7408 String strNomImage = getPanoramiquesProjet()[i].getStrNomFichier().substring(
7409 getPanoramiquesProjet()[i].getStrNomFichier().lastIndexOf(File.separator) + 1,
7410 getPanoramiquesProjet()[i].getStrNomFichier().length()
7411 );
7412 cbImage.getItems().add(i, strNomImage);
7413 }
7414 cbImage.setValue(strImgAffiche);
7415 }
7418 afficheMasque();
7420 affichePlan();
7424 if (isbInternet() && navigateurCarteOL != null) {
7427 for (int ii = 0; ii < getiNombrePanoramiques(); ii++) {
7428 CoordonneesGeographiques coord = getPanoramiquesProjet()[ii].getMarqueurGeolocatisation();
7429 if (coord != null) {
7430 String strFichierPano = getPanoramiquesProjet()[ii]
7431 .getStrNomFichier().substring(getPanoramiquesProjet()[ii].getStrNomFichier()
7432 .lastIndexOf(File.separator) + 1, getPanoramiquesProjet()[ii]
7433 .getStrNomFichier().length()).split("\\.")[0];
7434 String strHTML = "<span style='font-family : Verdana,Arial,sans-serif;font-weight:bold;font-size : 12px;'>"
7435 + getPanoramiquesProjet()[ii].getStrTitrePanoramique()
7436 + "</span><br/>"
7437 + "<span style='font-family : Verdana,Arial,sans-serif;bold;font-size : 10px;'>"
7439 + "</span>";
7440 strHTML = strHTML.replace("\\", "/");
7443 }
7444 }
7445 if (getCoordCentreCarte() != null) {
7447 }
7448 }
7449 afficheCarte();
7450 }
7451
7452 }
7453
7458 private void retireImageFond(int iNumImage) {
7459 for (int i = iNumImage; i < getiNombreImagesFond() - 1; i++) {
7460 getImagesFond()[i] = getImagesFond()[i + 1];
7461 }
7465 }
7466
7469 }
7470
7475
7476 apImageFond.getChildren().clear();
7477 Image imgAjoute = new Image("file:" + getStrRepertAppli() + File.separator + "images/ajoute.png", 30, 30, true, true);
7478 Button btnAjouteImage = new Button(rbLocalisation.getString("interface.imageFondAjoute"), new ImageView(imgAjoute));
7479 btnAjouteImage.setLayoutX(10);
7480 btnAjouteImage.setLayoutY(10);
7481 apImageFond.getChildren().addAll(btnAjouteImage);
7482 btnAjouteImage.setOnMouseClicked(
7483 (me) -> {
7485 }
7486 );
7487 double hauteurPanel = 500;
7488 apImageFond.setPrefHeight(getiNombreImagesFond() * (hauteurPanel + 10) + 100);
7489 apImageFond.setMinHeight(getiNombreImagesFond() * (hauteurPanel + 10) + 100);
7490 apImageFond.setMaxHeight(getiNombreImagesFond() * (hauteurPanel + 10) + 100);
7491 for (int i = 0; i < getiNombreImagesFond(); i++) {
7492 int ij = i;
7495
7497 apImagesFond.setPrefWidth(vbOutils.getPrefWidth() - 20);
7498 apImagesFond.setMinWidth(vbOutils.getPrefWidth() - 20);
7499 apImagesFond.setMaxWidth(vbOutils.getPrefWidth() - 20);
7500 apImagesFond.setPrefHeight(hauteurPanel);
7501 apImagesFond.setStyle("-fx-border-color : #666666; -fx-border-width : 1px; -fx-border-style :solid;");
7502 apImagesFond.setLayoutY(i * (hauteurPanel + 10) + 60);
7503 ImageView ivImageFond = new ImageView(getImagesFond()[i].getImgFond());
7504 ivImageFond.setPreserveRatio(true);
7505 if (getImagesFond()[i].getImgFond().getWidth() > getImagesFond()[i].getImgFond().getHeight()) {
7506 ivImageFond.setFitWidth(100);
7507 } else {
7508 ivImageFond.setFitHeight(100);
7509 }
7511 listeNiveau.stream().forEach((nomNiveau) -> {
7512 cbNiveauImageFond.getItems().add(nomNiveau);
7513 });
7514 cbNiveauImageFond.getSelectionModel().select(getiCalqueBarreClassique() - 1);
7515 cbNiveauImageFond.setLayoutX(vbOutils.getPrefWidth() - 130);
7516 cbNiveauImageFond.setLayoutY(10);
7517 cbNiveauImageFond.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
7520 });
7521
7522 ivImageFond.setLayoutX(10);
7523 ivImageFond.setLayoutY(10);
7534
7535 rbImageFondTopLeft.setUserData("top:left");
7536 rbImageFondTopCenter.setUserData("top:center");
7537 rbImageFondTopRight.setUserData("top:right");
7538 rbImageFondMiddleLeft.setUserData("middle:left");
7539 rbImageFondMiddleCenter.setUserData("middle:center");
7540 rbImageFondMiddleRight.setUserData("middle:right");
7541 rbImageFondBottomLeft.setUserData("bottom:left");
7542 rbImageFondBottomCenter.setUserData("bottom:center");
7543 rbImageFondBottomRight.setUserData("bottom:right");
7544
7545 rbImageFondTopLeft.setToggleGroup(tgPosition);
7546 rbImageFondTopCenter.setToggleGroup(tgPosition);
7547 rbImageFondTopRight.setToggleGroup(tgPosition);
7548 rbImageFondMiddleLeft.setToggleGroup(tgPosition);
7549 rbImageFondMiddleCenter.setToggleGroup(tgPosition);
7550 rbImageFondMiddleRight.setToggleGroup(tgPosition);
7551 rbImageFondBottomLeft.setToggleGroup(tgPosition);
7552 rbImageFondBottomCenter.setToggleGroup(tgPosition);
7553 rbImageFondBottomRight.setToggleGroup(tgPosition);
7555 switch (strPosit) {
7556 case "top:left":
7557 rbImageFondTopLeft.setSelected(true);
7558 break;
7559 case "top:center":
7560 rbImageFondTopCenter.setSelected(true);
7561 break;
7562 case "top:right":
7563 rbImageFondTopRight.setSelected(true);
7564 break;
7565 case "middle:left":
7566 rbImageFondMiddleLeft.setSelected(true);
7567 break;
7568 case "middle:center":
7569 rbImageFondMiddleCenter.setSelected(true);
7570 break;
7571 case "middle:right":
7572 rbImageFondMiddleRight.setSelected(true);
7573 break;
7574 case "bottom:left":
7575 rbImageFondBottomLeft.setSelected(true);
7576 break;
7577 case "bottom:center":
7578 rbImageFondBottomCenter.setSelected(true);
7579 break;
7580 case "bottom:right":
7581 rbImageFondBottomRight.setSelected(true);
7582 break;
7583 }
7584
7585 int iPosX = 160;
7586 int iPosY = 30;
7587
7588 rbImageFondTopLeft.setLayoutX(iPosX);
7589 rbImageFondTopCenter.setLayoutX(iPosX + 20);
7590 rbImageFondTopRight.setLayoutX(iPosX + 40);
7591 rbImageFondTopLeft.setLayoutY(iPosY);
7592 rbImageFondTopCenter.setLayoutY(iPosY);
7593 rbImageFondTopRight.setLayoutY(iPosY);
7594
7595 rbImageFondMiddleLeft.setLayoutX(iPosX);
7596 rbImageFondMiddleCenter.setLayoutX(iPosX + 20);
7597 rbImageFondMiddleRight.setLayoutX(iPosX + 40);
7598 rbImageFondMiddleLeft.setLayoutY(iPosY + 20);
7599 rbImageFondMiddleCenter.setLayoutY(iPosY + 20);
7600 rbImageFondMiddleRight.setLayoutY(iPosY + 20);
7601
7602 rbImageFondBottomLeft.setLayoutX(iPosX);
7603 rbImageFondBottomCenter.setLayoutX(iPosX + 20);
7604 rbImageFondBottomRight.setLayoutX(iPosX + 40);
7605 rbImageFondBottomLeft.setLayoutY(iPosY + 40);
7606 rbImageFondBottomCenter.setLayoutY(iPosY + 40);
7607 rbImageFondBottomRight.setLayoutY(iPosY + 40);
7608 Label lblPosit = new Label(rbLocalisation.getString("interface.positionImageFond"));
7609 lblPosit.setLayoutX(135);
7610 lblPosit.setLayoutY(10);
7611 CheckBox cbMasquableImageFond = new CheckBox(rbLocalisation.getString("interface.masquableImageFond"));
7612 cbMasquableImageFond.setLayoutX(150);
7613 cbMasquableImageFond.setLayoutY(90);
7614 cbMasquableImageFond.setSelected(getImagesFond()[i].isMasquable());
7615 Button btnModifieImage = new Button(rbLocalisation.getString("interface.changeImage"));
7616 btnModifieImage.setLayoutX(50);
7617 btnModifieImage.setLayoutY(120);
7618 btnModifieImage.setPrefSize(120, 20);
7619 Button btnSupprimeImage = new Button(rbLocalisation.getString("interface.supprimeImage"));
7620 btnSupprimeImage.setLayoutX(180);
7621 btnSupprimeImage.setLayoutY(120);
7622 btnSupprimeImage.setPrefSize(120, 20);
7623 Label lblOffsetXImageFond = new Label("dX ");
7624 lblOffsetXImageFond.setLayoutX(25);
7625 lblOffsetXImageFond.setLayoutY(155);
7626 Label lblOffsetYImageFond = new Label("dY ");
7627 lblOffsetYImageFond.setLayoutX(175);
7628 lblOffsetYImageFond.setLayoutY(155);
7630 bdfOffsetXImageFond.setLayoutX(50);
7631 bdfOffsetXImageFond.setLayoutY(150);
7632 bdfOffsetXImageFond.setMaxValue(new BigDecimal(2000));
7633 bdfOffsetXImageFond.setMinValue(new BigDecimal(-2000));
7634 bdfOffsetXImageFond.setMaxWidth(100);
7636 bdfOffsetYImageFond.setLayoutX(200);
7637 bdfOffsetYImageFond.setLayoutY(150);
7638 bdfOffsetYImageFond.setMaxValue(new BigDecimal(2000));
7639 bdfOffsetYImageFond.setMinValue(new BigDecimal(-2000));
7640 bdfOffsetYImageFond.setMaxWidth(100);
7641
7642 Label lblOpaciteImageFond = new Label(rbLocalisation.getString("interface.opaciteVignettes"));
7643 lblOpaciteImageFond.setLayoutX(10);
7644 lblOpaciteImageFond.setLayoutY(190);
7645 Slider slOpaciteImageFond = new Slider(0, 1.0, getImagesFond()[i].getOpacite());
7646 slOpaciteImageFond.setLayoutX(120);
7647 slOpaciteImageFond.setLayoutY(190);
7648 Label lblTailleImageFond = new Label(rbLocalisation.getString("interface.tailleVignettes"));
7649 lblTailleImageFond.setLayoutX(10);
7650 lblTailleImageFond.setLayoutY(220);
7651 double echelle = getImagesFond()[i].getTailleX() / getImagesFond()[i].getImgFond().getWidth();
7652 Slider slTailleImageFond = new Slider(0.1, 2.0, echelle);
7653 slTailleImageFond.setLayoutX(120);
7654 slTailleImageFond.setLayoutY(220);
7655 RadioButton rbHTML = new RadioButton("HTML");
7656 rbHTML.setToggleGroup(tgType);
7657 rbHTML.setLayoutX(10);
7658 rbHTML.setLayoutY(280);
7659 rbHTML.setSelected(getImagesFond()[i].getStrType().equals("html"));
7660 rbHTML.setUserData("html");
7661
7662 Label lblUrlImageFond = new Label("url");
7663 lblUrlImageFond.setLayoutX(10);
7664 lblUrlImageFond.setLayoutY(312);
7665 TextField tfUrlImageFond = new TextField(getImagesFond()[i].getStrUrl());
7666 tfUrlImageFond.setPrefHeight(20);
7667 tfUrlImageFond.setPrefWidth(200);
7668 tfUrlImageFond.setLayoutX(120);
7669 tfUrlImageFond.setLayoutY(310);
7670 Label lblInfobulleImageFond = new Label(rbLocalisation.getString("interface.infobulle"));
7671 lblInfobulleImageFond.setLayoutX(10);
7672 lblInfobulleImageFond.setLayoutY(252);
7673 TextField tfInfobulleImageFond = new TextField(getImagesFond()[i].getStrInfobulle());
7674 tfInfobulleImageFond.setPrefHeight(20);
7675 tfInfobulleImageFond.setPrefWidth(200);
7676 tfInfobulleImageFond.setLayoutX(120);
7677 tfInfobulleImageFond.setLayoutY(250);
7678 tfUrlImageFond.disableProperty().bind(rbHTML.selectedProperty().not());
7679 //tfInfobulleImageFond.disableProperty().bind(rbHTML.selectedProperty().not());
7680 RadioButton rbDiapo = new RadioButton("Diaporama");
7681 rbDiapo.setToggleGroup(tgType);
7682 rbDiapo.setLayoutX(10);
7683 rbDiapo.setLayoutY(340);
7684 rbDiapo.setSelected(getImagesFond()[i].getStrType().equals("diapo"));
7685 rbDiapo.setUserData("diapo");
7687 cbListeDiapos.setLayoutX(120);
7688 cbListeDiapos.setLayoutY(370);
7689 for (int ii = 0; ii < EditeurPanovisu.getiNombreDiapo(); ii++) {
7691 }
7692 cbListeDiapos.getSelectionModel().select(getImagesFond()[i].getiNumDiapo());
7693 RadioButton rbAucun = new RadioButton("Image décorative");
7694 rbAucun.setToggleGroup(tgType);
7695 rbAucun.setLayoutX(10);
7696 rbAucun.setLayoutY(400);
7697 rbAucun.setSelected(getImagesFond()[i].getStrType().equals("aucun"));
7698 rbAucun.setUserData("aucun");
7699 Label lblCible = new Label(rbLocalisation.getString("interface.lienCible"));
7700 lblCible.setLayoutX(10);
7701 lblCible.setLayoutY(430);
7702 RadioButton rbInterne = new RadioButton(rbLocalisation.getString("interface.lienInterne"));
7703 rbInterne.setToggleGroup(tgLien);
7704 rbInterne.setLayoutX(60);
7705 rbInterne.setLayoutY(460);
7706 rbInterne.setSelected(getImagesFond()[i].getStrCible().equals("interne"));
7707 rbInterne.setUserData("interne");
7708 RadioButton rbPage = new RadioButton(rbLocalisation.getString("interface.lienPage"));
7709 rbPage.setToggleGroup(tgLien);
7710 rbPage.setLayoutX(60);
7711 rbPage.setLayoutY(490);
7712 rbPage.setSelected(getImagesFond()[i].getStrCible().equals("page"));
7713 rbPage.setUserData("page");
7714
7715 apImagesFond.getChildren().addAll(
7726 rbHTML,
7729 rbDiapo,
7731 rbAucun,
7732 lblCible,
7733 rbInterne,
7734 rbPage
7735 );
7736 btnModifieImage.setOnMouseClicked(
7737 (me) -> {
7738 if (getiNombrePanoramiques() != 0) {
7739 setbDejaSauve(false);
7740 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7741 }
7742
7744 if (strRepertImagesFond.equals("")) {
7745 fileRepert = new File(getStrCurrentDir() + File.separator);
7746 } else {
7748 }
7749
7751 FileChooser.ExtensionFilter extFilterImages = new FileChooser.ExtensionFilter("Fichiers Images (jpg, bmp, png, gif)", "*.jpg", "*.bmp", "*.png", "*.gif");
7752
7753 fileChooser.setInitialDirectory(fileRepert);
7754 fileChooser.getExtensionFilters().addAll(extFilterImages);
7755
7756 File fileFichierImage = fileChooser.showOpenDialog(null);
7757 if (fileFichierImage != null) {
7759 File fileRepertImage = new File(getStrRepertTemp() + File.separator + "images");
7760 if (!fileRepertImage.exists()) {
7761 fileRepertImage.mkdirs();
7762 }
7763 try {
7764 copieFichierRepertoire(fileFichierImage.getAbsolutePath(), fileRepertImage.getAbsolutePath());
7765 } catch (IOException ex) {
7766 Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
7767 }
7768
7770 Image imgFond = new Image("file:" + fileFichierImage.getAbsolutePath());
7771 getImagesFond()[ij].setImgFond(imgFond);
7772 getImagesFond()[ij].setTailleX((int) imgFond.getWidth());
7773 getImagesFond()[ij].setTailleY((int) imgFond.getHeight());
7775 }
7776
7777 }
7778 );
7779
7780 btnSupprimeImage.setOnMouseClicked(
7781 (me) -> {
7782 ButtonType buttonTypeOui = new ButtonType(rbLocalisation.getString("main.oui"));
7783 ButtonType buttonTypeNon = new ButtonType(rbLocalisation.getString("main.non"));
7784 Alert alert = new Alert(Alert.AlertType.WARNING);
7785 alert.setTitle(rbLocalisation.getString("interface.supprimeImage"));
7786 alert.setHeaderText(null);
7787 alert.setContentText(rbLocalisation.getString("diapo.supprimerImageTexte"));
7788 alert.getButtonTypes().clear();
7789 alert.getButtonTypes().setAll(buttonTypeOui, buttonTypeNon);
7790 Optional<ButtonType> actReponse = alert.showAndWait();
7791
7792 if (actReponse.get() == buttonTypeOui) {
7793 if (getiNombrePanoramiques() != 0) {
7794 setbDejaSauve(false);
7795 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7796 }
7797
7799 }
7800 }
7801 );
7802 tgLien.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
7803 if (getiNombrePanoramiques() != 0) {
7804 setbDejaSauve(false);
7805 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7806 }
7807 if (tgLien.getSelectedToggle() != null) {
7808 getImagesFond()[ij].setStrCible(tgLien.getSelectedToggle().getUserData().toString());
7809 }
7810 });
7811
7812 tgType.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
7813 if (getiNombrePanoramiques() != 0) {
7814 setbDejaSauve(false);
7815 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7816 }
7817
7818 if (tgType.getSelectedToggle() != null) {
7819 getImagesFond()[ij].setStrType(tgType.getSelectedToggle().getUserData().toString());
7820 switch (tgType.getSelectedToggle().getUserData().toString()) {
7821 case "diapo":
7822 getImagesFond()[ij].setStrUrl("diaporama/diapo" + cbListeDiapos.getSelectionModel().getSelectedIndex() + ".html");
7823 getImagesFond()[ij].setiNumDiapo(cbListeDiapos.getSelectionModel().getSelectedIndex());
7824 break;
7825 case "html":
7827 break;
7828 case "aucun":
7829 getImagesFond()[ij].setStrUrl("");
7830 break;
7831 default:
7832 break;
7833 }
7834 }
7835 }
7836 );
7837
7838 cbListeDiapos.getSelectionModel().selectedIndexProperty().addListener((ov, old_toggle, new_toggle) -> {
7839 if (getiNombrePanoramiques() != 0) {
7840 setbDejaSauve(false);
7841 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7842 }
7843
7844 getImagesFond()[ij].setStrUrl("diaporama/diapo" + cbListeDiapos.getSelectionModel().getSelectedIndex() + ".html");
7845 getImagesFond()[ij].setiNumDiapo(cbListeDiapos.getSelectionModel().getSelectedIndex());
7846 });
7847
7848 tgPosition.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
7849 if (tgPosition.getSelectedToggle() != null) {
7850 if (getiNombrePanoramiques() != 0) {
7851 setbDejaSauve(false);
7852 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7853 }
7854
7855 String positImageFond = tgPosition.getSelectedToggle().getUserData().toString();
7856 getImagesFond()[ij].setStrPosX(positImageFond.split(":")[1]);
7857 getImagesFond()[ij].setStrPosY(positImageFond.split(":")[0]);
7859 }
7860 });
7861
7862 bdfOffsetXImageFond.numberProperty().addListener((ov, old_value, new_value) -> {
7863 if (getiNombrePanoramiques() != 0) {
7864 setbDejaSauve(false);
7865 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7866 }
7867
7868 getImagesFond()[ij].setOffsetX(new_value.doubleValue());
7870 });
7871
7872 bdfOffsetYImageFond.numberProperty().addListener((ov, old_value, new_value) -> {
7873 if (getiNombrePanoramiques() != 0) {
7874 setbDejaSauve(false);
7875 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7876 }
7877
7878 getImagesFond()[ij].setOffsetY(new_value.doubleValue());
7880 });
7881
7882 slOpaciteImageFond.valueProperty().addListener((ov, oldValue, newValue) -> {
7883 if (getiNombrePanoramiques() != 0) {
7884 setbDejaSauve(false);
7885 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7886 }
7887
7888 if (newValue != null) {
7889 double opac = (double) newValue;
7892 }
7893 });
7894
7895 slTailleImageFond.valueProperty().addListener((ov, oldValue, newValue) -> {
7896 if (getiNombrePanoramiques() != 0) {
7897 setbDejaSauve(false);
7898 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7899 }
7900
7901 if (newValue != null) {
7902 double taille = (double) newValue;
7903 getImagesFond()[ij].setTailleX((int) (getImagesFond()[ij].getImgFond().getWidth() * taille));
7904 getImagesFond()[ij].setTailleY((int) (getImagesFond()[ij].getImgFond().getHeight() * taille));
7906 }
7907 });
7908
7909 tfUrlImageFond.textProperty().addListener((ov, oldValue, newValue) -> {
7910 if (getiNombrePanoramiques() != 0) {
7911 setbDejaSauve(false);
7912 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7913 }
7914
7917 });
7918
7919 tfInfobulleImageFond.textProperty().addListener((ov, oldValue, newValue) -> {
7920 if (getiNombrePanoramiques() != 0) {
7921 setbDejaSauve(false);
7922 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7923 }
7924
7927 });
7928
7929 cbMasquableImageFond.selectedProperty().addListener((ov, old_val, new_val) -> {
7930 if (getiNombrePanoramiques() != 0) {
7931 setbDejaSauve(false);
7932 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
7933 }
7934
7935 if (new_val != null) {
7937 }
7938 });
7939
7940 apImageFond.getChildren().add(apImagesFond);
7941 }
7942
7943 if (bNouvelle) {
7944 getSpOutils().setVvalue(getSpOutils().getVvalue() + 500);
7945 }
7946
7948 }
7949
7956 if (strRepertImagesFond.equals("")) {
7957 fileRepert = new File(getStrCurrentDir() + File.separator);
7958 } else {
7960 }
7962 FileChooser.ExtensionFilter extFilterImages = new FileChooser.ExtensionFilter("Fichiers Images (jpg, bmp, png, gif)", "*.jpg", "*.bmp", "*.png", "*.gif");
7963
7964 fileChooser.setInitialDirectory(fileRepert);
7965 fileChooser.getExtensionFilters().addAll(extFilterImages);
7966
7967 File fichierImage = fileChooser.showOpenDialog(null);
7968 if (fichierImage != null) {
7969 strRepertImagesFond = fichierImage.getParent();
7970 File fileRepertImage = new File(getStrRepertTemp() + File.separator + "images");
7971 if (!fileRepertImage.exists()) {
7972 fileRepertImage.mkdirs();
7973 }
7974 try {
7975 copieFichierRepertoire(fichierImage.getAbsolutePath(), fileRepertImage.getAbsolutePath());
7976 } catch (IOException ex) {
7977 Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
7978 }
7979
7980 return fichierImage.getAbsolutePath();
7981 } else {
7982 return "";
7983 }
7984
7985 }
7986
7990 private void ajoutImageFond() {
7991 if (getiNombreImagesFond() < 20) {
7992
7994 if (strRepertImagesFond.equals("")) {
7995 fileRepert = new File(getStrCurrentDir() + File.separator);
7996 } else {
7998 }
7999
8001 FileChooser.ExtensionFilter extFilterImages = new FileChooser.ExtensionFilter("Fichiers Images (jpg, bmp, png, gif)", "*.jpg", "*.bmp", "*.png", "*.gif");
8002
8003 fileChooser.setInitialDirectory(fileRepert);
8004 fileChooser.getExtensionFilters().addAll(extFilterImages);
8005
8006 File fileFichierImage = fileChooser.showOpenDialog(null);
8007 if (fileFichierImage != null) {
8009 File fileRepertImage = new File(getStrRepertTemp() + File.separator + "images");
8010 if (!fileRepertImage.exists()) {
8011 fileRepertImage.mkdirs();
8012 }
8013 try {
8014 copieFichierRepertoire(fileFichierImage.getAbsolutePath(), fileRepertImage.getAbsolutePath());
8015 } catch (IOException ex) {
8016 Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
8017 }
8018
8021 Image imgFond = new Image("file:" + fileFichierImage.getAbsolutePath());
8023 getImagesFond()[getiNombreImagesFond()].setTailleX((int) imgFond.getWidth());
8024 getImagesFond()[getiNombreImagesFond()].setTailleY((int) imgFond.getHeight());
8027 }
8028 }
8030 }
8031
8050 public void styleInfoBulle() {
8051 String strStyle = "-fx-margin : 10px;-fx-background-color: " + strCouleurFondInfoBulle + ";"
8052 + "-fx-border-width: " + iTailleBordureTop + "px " + iTailleBordureRight + "px "
8053 + iTailleBordureBottom + "px " + iTailleBordureLeft + "px ;"
8054 + "-fx-border-color: " + strCouleurBordureInfoBulle + ";"
8055 + "-fx-padding: 3px 10px;"
8056 + "-fx-opacity: " + opaciteInfoBulle + ";"
8057 + "-fx-text-fill : " + strCouleurTexteInfoBulle + ";"
8058 + "-fx-font-family: \"" + strPoliceInfoBulle + "\",Arial,sans-serif; "
8059 + "-fx-border-radius: " + iArrondiTL + "px " + iArrondiTR
8060 + "px " + iArrondiBR + "px " + iArrondiBL + "px; "
8061 + "-fx-font-size : " + taillePoliceInfoBulle + "px;";
8062 lblInfoBulle.setStyle(strStyle);
8063 }
8064
8089 public void creeInterface(int iLargeur, int iHauteur) {
8091 strLstPolices.add("Arial");
8092 strLstPolices.add("Arial Black");
8093 strLstPolices.add("Comic Sans MS");
8094 strLstPolices.add("Courrier New");
8095 strLstPolices.add("Lucida Sans Typewriter");
8096 strLstPolices.add("Segoe Print");
8097 strLstPolices.add("Tahoma");
8098 strLstPolices.add("Times New Roman");
8099 strLstPolices.add("Verdana");
8101 rbLocalisation = ResourceBundle.getBundle("editeurpanovisu.i18n.PanoVisu", EditeurPanovisu.getLocale());
8102 strRepertBoutonsPrincipal = getStrRepertAppli() + File.separator + "theme/barreNavigation";
8103 strRepertHotSpots = getStrRepertAppli() + File.separator + "theme/hotspots";
8104 strRepertHotSpotsPhoto = getStrRepertAppli() + File.separator + "theme/photos";
8105 strRepertHotSpotsHTML = getStrRepertAppli() + File.separator + "theme/html";
8106 strRepertBoussoles = getStrRepertAppli() + File.separator + "theme/boussoles";
8107 strRepertMasques = getStrRepertAppli() + File.separator + "theme/MA";
8108 strRepertReseauxSociaux = getStrRepertAppli() + File.separator + "theme/reseaux";
8109 ivBtnVisiteAuto = new ImageView(new Image("file:" + getStrRepertAppli() + File.separator + "images/playAutoTour.png"));
8110 ivBtnVisiteAuto.setFitWidth(32);
8111 ivBtnVisiteAuto.setPreserveRatio(true);
8113 apVisuBoutonVisiteAuto.setPrefWidth(32);
8114 apVisuBoutonVisiteAuto.setPrefHeight(32);
8115 //apVisuBoutonVisiteAuto.setStyle("-fx-background-color : #777");
8123 int iNombreHotSpots = strListeHotSpots.size();
8129 imgClaire = new Image("file:" + getStrRepertAppli() + File.separator + "images/claire.jpg");
8130 imgSombre = new Image("file:" + getStrRepertAppli() + File.separator + "images/sombre.jpg");
8131 imgSuivant = new ImageView(new Image("file:" + getStrRepertAppli() + File.separator + "panovisu/images/suivant.png"));
8132 imgPrecedent = new ImageView(new Image("file:" + getStrRepertAppli() + File.separator + "panovisu/images/precedent.png"));
8133 ivBtnVisiteAuto = new ImageView(new Image("file:" + getStrRepertAppli() + File.separator + "images/playAutoTour.png"));
8134 ivBtnVisiteAuto.setFitWidth(32);
8135 ivBtnVisiteAuto.setPreserveRatio(true);
8138 paneFondSuivant.setStyle("-fx-background-color : black;-fx-background-radius : 5 0 0 5;");
8139 paneFondSuivant.setOpacity(0.5);
8140 paneFondPrecedent.setStyle("-fx-background-color : black;-fx-background-radius : 0 5 5 0;");
8141 paneFondPrecedent.setOpacity(0.5);
8142
8143 lblTxtTitre = new Label(rbLocalisation.getString("main.titrePano"));
8144 lblTxtTitre2 = new Label(rbLocalisation.getString("main.titrePano"));
8146 lblTxtTitre.setFont(fonte);
8147 fonte = Font.font(getStrTitrePoliceNom(), (Double.parseDouble(getStrTitrePoliceTaille()) * 3.d / 4.d));
8148 lblTxtTitre2.setFont(fonte);
8150 int iRouge = (int) (couleur.getRed() * 255.d);
8151 int iBleu = (int) (couleur.getBlue() * 255.d);
8152 int iVert = (int) (couleur.getGreen() * 255.d);
8153 String strCoulFond = "rgba(" + iRouge + "," + iVert + "," + iBleu + "," + getTitreOpacite() + ")";
8154
8155 lblTxtTitre.setStyle("-fx-text-fill : " + getStrCouleurTitre() + ";-fx-background-color : " + strCoulFond);
8156 lblTxtTitre2.setStyle("-fx-text-fill : " + getStrCouleurTitre() + ";-fx-background-color : " + strCoulFond);
8157
8158
8159 paneTabInterface = new Pane();
8160 hbInterface = new HBox();
8161 hbInterface.setPrefWidth(iLargeur);
8162 hbInterface.setPrefHeight(iHauteur);
8163 paneTabInterface.getChildren().add(hbInterface);
8164 setApVis(new AnchorPane());
8165 getApVis().setPrefWidth(iLargeur - largeurOutils - 20);
8166 getApVis().setMaxWidth(iLargeur - largeurOutils - 20);
8167 getApVis().setMinWidth(iLargeur - largeurOutils - 20);
8168 getApVis().setPrefHeight(iHauteur);
8169
8171 getApVis().getChildren().add(apVisualisation);
8172 apVisualisation.setPrefWidth(iLargeur - largeurOutils - 20);
8173 apVisualisation.setMaxWidth(iLargeur - largeurOutils - 20);
8174 apVisualisation.setMinWidth(iLargeur - largeurOutils - 20);
8175 apVisualisation.setPrefHeight(iHauteur);
8176 vbOutils = new VBox(-5);
8177 vbOutils.setLayoutX(5);
8179 apOutils.setPrefWidth(largeurOutils);
8180 apOutils.setMaxWidth(largeurOutils);
8181 apOutils.setTranslateY(3);
8182 apOutils.setTranslateX(20);
8184 apOutils.getChildren().addAll(getSpOutils());
8185 getSpOutils().setId("spOutils");
8186 getSpOutils().setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
8187 getSpOutils().setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
8188 getSpOutils().setPrefHeight(iHauteur - 52 - getiDecalageMac());
8189 getSpOutils().setMinHeight(iHauteur - 52 - getiDecalageMac());
8190 getSpOutils().setMaxHeight(iHauteur - 52 - getiDecalageMac());
8191 getSpOutils().setPrefWidth(largeurOutils);
8192 getSpOutils().setMinWidth(largeurOutils);
8193 getSpOutils().setFitToWidth(true);
8194 getSpOutils().setFitToHeight(true);
8195
8196 getSpOutils().setLayoutY(-getiDecalageMac());
8197 vbOutils.setPrefWidth(largeurOutils - 20);
8198 vbOutils.setMaxWidth(largeurOutils - 20);
8200 getApVis().getChildren().add(apCalque);
8201
8202 hbInterface.getChildren().addAll(getApVis(), apOutils);
8203 /*
8204 * ***************************************************************
8205 * Panneau de visualisation de l'interface
8206 * ***************************************************************
8207 */
8208 // Calcul dynamique de la taille en fonction de la fenêtre (90% de la largeur disponible)
8209 double tailleMax = apVisualisation.getPrefWidth() * 0.9;
8210 double hauteurMax = iHauteur * 0.85; // 85% de la hauteur de la fenêtre
8211
8213 ivVisualisation.setPreserveRatio(true); // Garde le ratio de l'image
8214
8215 // Adapter la taille pour remplir au maximum l'espace disponible
8216 ivVisualisation.setFitWidth(tailleMax);
8217
8218 // Si l'image est trop haute, on limite par la hauteur
8219 double hauteurCalculee = ivVisualisation.getImage().getHeight() * (tailleMax / ivVisualisation.getImage().getWidth());
8221 ivVisualisation.setFitHeight(hauteurMax);
8222 ivVisualisation.setFitWidth(0); // Laisser le ratio calculer la largeur
8223 }
8224
8225 ivVisualisation.setSmooth(true);
8226 double LX = (apVisualisation.getPrefWidth() - ivVisualisation.getBoundsInParent().getWidth()) / 2;
8227 ivVisualisation.setLayoutX(LX);
8228 ivVisualisation.setLayoutY(20);
8229 lblTxtTitre.setMinSize(ivVisualisation.getBoundsInParent().getWidth(), 30);
8230 lblTxtTitre.setPadding(new Insets(5));
8231 lblTxtTitre.setStyle("-fx-background-color : #000;-fx-border-radius: 5px;");
8232 lblTxtTitre.setAlignment(Pos.CENTER);
8233 //lblTxtTitre.setTextFill(Color.WHITE);
8234 lblTxtTitre.setLayoutY(20);
8235 lblTxtTitre.setLayoutX(ivVisualisation.getLayoutX() + (ivVisualisation.getBoundsInParent().getWidth() - lblTxtTitre.getMinWidth()) / 2);
8237 double iR1 = (int) (col1.getRed() * 255.d);
8238 double iB1 = (int) (col1.getBlue() * 255.d);
8239 double iV1 = (int) (col1.getGreen() * 255.d);
8240 String strCoulF1 = "rgba(" + iR1 + "," + iV1 + "," + iB1 + "," + getTitreOpacite() + ")";
8241 lblTxtTitre.setStyle("-fx-text-fill : " + getStrCouleurTitre() + ";-fx-background-color : " + strCoulF1);
8242 lblTxtTitre2.setStyle("-fx-text-fill : " + getStrCouleurTitre() + ";-fx-background-color : " + strCoulF1);
8243
8244 lblTxtTitre2.setVisible(false);
8245 rbClair = new RadioButton("Image claire");
8246 rbSombre = new RadioButton("Image Sombre");
8247 rbPerso = new RadioButton("");
8248 cbImage = new ComboBox();
8249 cbImage.setDisable(true);
8250 double positRB = ivVisualisation.getBoundsInParent().getHeight() + 30;
8251 rbClair.setToggleGroup(tgImage);
8252 rbSombre.setToggleGroup(tgImage);
8253 rbPerso.setToggleGroup(tgImage);
8254 apVisualisation.getChildren().addAll(rbClair, rbSombre);
8255 rbClair.setLayoutX(LX + 40);
8256 rbClair.setLayoutY(positRB);
8257 rbClair.setSelected(true);
8258 rbSombre.setLayoutX(LX + 180);
8259 rbSombre.setLayoutY(positRB);
8260 rbPerso.setLayoutX(LX + 320);
8261 rbPerso.setLayoutY(positRB);
8262 cbImage.setLayoutX(LX + 350);
8263 cbImage.setLayoutY(positRB - 3);
8264 rbPerso.setDisable(true);
8265 rbClair.setUserData("claire");
8266 rbSombre.setUserData("sombre");
8267 rbPerso.setUserData("perso");
8268 imgBoussole = new ImageView(new Image("file:" + strRepertBoussoles + File.separator + getStrImageBoussole()));
8269 imgAiguille = new ImageView("file:" + strRepertBoussoles + File.separator + "aiguille.png");
8271 apAfficheBarrePersonnalisee.setBackground(Background.EMPTY);
8272 apAfficheBarrePersonnalisee.setLayoutX(ivVisualisation.getLayoutX());
8273 apAfficheBarrePersonnalisee.setLayoutY(ivVisualisation.getLayoutY());
8278 apVisuPlan = new AnchorPane();
8279 apVisuCarte = new AnchorPane();
8281 apVisualisation.getChildren().clear();
8282 apVisualisation.getChildren().add(ivVisualisation);
8284 paneFondPrecedent.setPrefWidth(64);
8285 paneFondPrecedent.setPrefHeight(64);
8286 paneFondSuivant.setPrefWidth(64);
8287 paneFondSuivant.setPrefHeight(64);
8288 paneFondPrecedent.setMaxWidth(64);
8289 paneFondPrecedent.setMaxHeight(64);
8290 paneFondSuivant.setMaxWidth(64);
8291 paneFondSuivant.setMaxHeight(64);
8292 paneFondPrecedent.setLayoutX(ivVisualisation.getLayoutX());
8293 paneFondPrecedent.setLayoutY(ivVisualisation.getLayoutY() + (getVisualisationHeight() - paneFondPrecedent.getPrefHeight()) / 2);
8294 paneFondSuivant.setLayoutX(ivVisualisation.getLayoutX() + (getVisualisationWidth() - paneFondPrecedent.getPrefWidth()));
8295 paneFondSuivant.setLayoutY(ivVisualisation.getLayoutY() + (getVisualisationHeight() - paneFondSuivant.getPrefHeight()) / 2);
8299 afficheMasque();
8301
8303 double largeur = vbOutils.getPrefWidth();
8304
8305 /*
8306 * *****************************************
8307 * Pannels d'outils
8308 * *****************************************
8309 */
8311 AnchorPane apTHEME = new AnchorPane(new PaneOutil(true, rbLocalisation.getString("interface.theme"), apParametresTheme, largeur, true).getApPaneOutil());
8312 for (int i = 0; i < iNombreCalques; i++) {
8313 listeNiveau.add(rbLocalisation.getString("interface.calque") + " " + (i + 1));
8314 }
8315
8318 slOpaciteTheme = new Slider(0, 1, getOpaciteTheme());
8319 Label lblCouleurFondTheme = new Label(rbLocalisation.getString("interface.couleurFondTheme"));
8320 lblCouleurFondTheme.setLayoutX(10);
8321 lblCouleurFondTheme.setLayoutY(10);
8322 cpCouleurFondTheme.setLayoutX(200);
8323 cpCouleurFondTheme.setLayoutY(10);
8324 Label lblCouleurTexteTheme = new Label(rbLocalisation.getString("interface.couleurTexteTheme"));
8325 lblCouleurTexteTheme.setLayoutX(10);
8326 lblCouleurTexteTheme.setLayoutY(40);
8327 cpCouleurTexteTheme.setLayoutX(200);
8328 cpCouleurTexteTheme.setLayoutY(40);
8329 Label lblOpaciteTheme = new Label(rbLocalisation.getString("interface.opaciteTheme"));
8330 lblOpaciteTheme.setLayoutX(10);
8331 lblOpaciteTheme.setLayoutY(70);
8332 slOpaciteTheme.setLayoutX(200);
8333 slOpaciteTheme.setLayoutY(70);
8334 Label lblPoliceTheme = new Label(rbLocalisation.getString("interface.policeTheme"));
8335 lblPoliceTheme.setLayoutX(10);
8336 lblPoliceTheme.setLayoutY(100);
8339 cbPoliceTheme.setLayoutX(200);
8340 cbPoliceTheme.setLayoutY(100);
8341 cbPoliceTheme.setMaxWidth(135);
8342 cbSuivantPrecedent = new CheckBox(rbLocalisation.getString("interface.SuivantPrecedent"));
8343 cbSuivantPrecedent.setLayoutX(10);
8344 cbSuivantPrecedent.setLayoutY(135);
8345 listeNiveau.stream().forEach((nomNiveau) -> {
8346 cbNiveauSuivPrec.getItems().add(nomNiveau);
8347 });
8348 cbNiveauSuivPrec.getSelectionModel().select(getiCalqueSuivPrec() - 1);
8349 cbNiveauSuivPrec.setLayoutX(largeur - 110);
8350 cbNiveauSuivPrec.setLayoutY(135);
8351 cbNiveauSuivPrec.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
8352 if (getiNombrePanoramiques() != 0) {
8353 setbDejaSauve(false);
8354 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
8355 }
8356 setiCalqueSuivPrec((int) new_val + 1);
8358 });
8359 cbNiveauSuivPrec.disableProperty().bind(cbSuivantPrecedent.selectedProperty().not());
8360 apParametresTheme.setPrefHeight(160);
8361 apParametresTheme.getChildren().addAll(
8367 );
8368
8369 /*
8370 * *****************************************
8371 * Panel Titre
8372 * ****************************************
8373 */
8375 apTitre.setPrefHeight(380);
8376 PaneOutil poTitre = new PaneOutil(rbLocalisation.getString("interface.styleTitre"), apTitre, largeur);
8377 AnchorPane apTIT = new AnchorPane(poTitre.getApPaneOutil());
8378 cbAfficheTitre = new CheckBox(rbLocalisation.getString("interface.afficheTitre"));
8379 cbAfficheTitre.setSelected(isbAfficheTitre());
8380 cbAfficheTitre.setLayoutX(10);
8381 cbAfficheTitre.setLayoutY(15);
8382 listeNiveau.stream().forEach((nomNiveau) -> {
8383 cbNiveauTitre.getItems().add(nomNiveau);
8384 });
8385 cbNiveauTitre.getSelectionModel().select(getiCalqueTitre() - 1);
8386 cbNiveauTitre.setLayoutX(largeur - 110);
8387 cbNiveauTitre.setLayoutY(10);
8388 cbNiveauTitre.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
8389 if (getiNombrePanoramiques() != 0) {
8390 setbDejaSauve(false);
8391 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
8392 }
8393 setiCalqueTitre((int) new_val + 1);
8395 });
8396 poTitre.setbValide(isbAfficheTitre());
8397 cbTitreVisite = new CheckBox(rbLocalisation.getString("main.titreVisite"));
8398 cbTitrePanoramique = new CheckBox(rbLocalisation.getString("main.titrePano"));
8399 cbTitreVisite.setLayoutX(10);
8400 cbTitreVisite.setLayoutY(0);
8401 cbTitreVisite.setSelected(bTitreVisite);
8402 cbTitrePanoramique.setLayoutX(10);
8403 cbTitrePanoramique.setLayoutY(30);
8405 Label lblPosTitre = new Label(rbLocalisation.getString("editeurHTML.position"));
8406 lblPosTitre.setLayoutX(10);
8407 lblPosTitre.setLayoutY(60);
8408 rbLeftTitre = new RadioButton();
8409 rbCenterTitre = new RadioButton();
8410 rbRightTitre = new RadioButton();
8411 rbLeftTitre.setUserData("left");
8412 rbCenterTitre.setUserData("center");
8413 rbRightTitre.setUserData("right");
8414
8415 rbLeftTitre.setToggleGroup(tgPosTitre);
8416 rbCenterTitre.setToggleGroup(tgPosTitre);
8417 rbRightTitre.setToggleGroup(tgPosTitre);
8418 int iPosX1 = 180;
8419 int iPosY1 = 60;
8420 rbLeftTitre.setLayoutX(iPosX1);
8421 rbCenterTitre.setLayoutX(iPosX1 + 20);
8422 rbRightTitre.setLayoutX(iPosX1 + 40);
8423 rbLeftTitre.setLayoutY(iPosY1);
8424 rbCenterTitre.setLayoutY(iPosY1);
8425 rbRightTitre.setLayoutY(iPosY1);
8426
8427 rbCenterTitre.setSelected(true);
8428 Label lblDecalageTitre = new Label(rbLocalisation.getString("interface.fenetrePosX"));
8429 lblDecalageTitre.setLayoutX(10);
8430 lblDecalageTitre.setLayoutY(90);
8432 bdfTitreDecalage.setLayoutX(180);
8433 bdfTitreDecalage.setLayoutY(87);
8436 bdfTitreDecalage.setMaxWidth(100);
8437
8440 cbListePolicesTitre.setLayoutX(180);
8441 cbListePolicesTitre.setLayoutY(117);
8442 cbListePolicesTitre.setMaxWidth(135);
8443
8444 Label lblChoixPoliceTitre = new Label(rbLocalisation.getString("interface.choixPolice"));
8445 lblChoixPoliceTitre.setLayoutX(10);
8446 lblChoixPoliceTitre.setLayoutY(120);
8447 Label lblChoixTailleTitre = new Label(rbLocalisation.getString("interface.choixTaillePolice"));
8448 lblChoixTailleTitre.setLayoutX(10);
8449 lblChoixTailleTitre.setLayoutY(150);
8450 slTaillePoliceTitre = new Slider(8, 72, 12);
8451 slTaillePoliceTitre.setLayoutX(180);
8452 slTaillePoliceTitre.setLayoutY(150);
8453
8454 Label lblChoixCouleurTitre = new Label(rbLocalisation.getString("interface.choixCouleur"));
8455 lblChoixCouleurTitre.setLayoutX(10);
8456 lblChoixCouleurTitre.setLayoutY(180);
8458 cpCouleurTitre.setLayoutX(180);
8459 cpCouleurTitre.setLayoutY(178);
8460 Label lblChoixCouleurFondTitre = new Label(rbLocalisation.getString("interface.choixCouleurFond"));
8461 lblChoixCouleurFondTitre.setLayoutX(10);
8462 lblChoixCouleurFondTitre.setLayoutY(210);
8464 cpCouleurFondTitre.setLayoutX(180);
8465 cpCouleurFondTitre.setLayoutY(208);
8466
8467 Label lblChoixOpacite = new Label(rbLocalisation.getString("interface.choixOpaciteTitre"));
8468 lblChoixOpacite.setLayoutX(10);
8469 lblChoixOpacite.setLayoutY(240);
8470 slOpaciteTitre = new Slider(0, 1, getTitreOpacite());
8471 slOpaciteTitre.setLayoutX(180);
8472 slOpaciteTitre.setLayoutY(240);
8473 Label lblChoixTaille = new Label(rbLocalisation.getString("interface.choixTailleTitre"));
8474 lblChoixTaille.setLayoutX(10);
8475 lblChoixTaille.setLayoutY(270);
8476 slTailleTitre = new Slider(5, 100, getTitreTaille());
8477 slTailleTitre.setLayoutX(180);
8478 slTailleTitre.setLayoutY(270);
8479 cbTitreAdapte = new CheckBox(rbLocalisation.getString("interface.choixTitreAdapte"));
8480 cbTitreAdapte.setLayoutX(80);
8481 cbTitreAdapte.setLayoutY(300);
8483 apTit1.setLayoutY(45);
8484 apTit1.disableProperty().bind(cbAfficheTitre.selectedProperty().not());
8485 cbNiveauTitre.disableProperty().bind(cbAfficheTitre.selectedProperty().not());
8486 apTit1.getChildren().addAll(
8497 );
8498 apTitre.getChildren().addAll(
8500 );
8501
8502 /*
8503 * *****************************************
8504 * Panel Description
8505 * ****************************************
8506 */
8508 apDescription.setPrefHeight(60);
8509 poDescription = new PaneOutil(rbLocalisation.getString("interface.description"), apDescription, largeur);
8511
8512 cbAfficheDescription = new CheckBox(rbLocalisation.getString("interface.afficheDescriptionChargement"));
8514 cbAfficheDescription.setLayoutX(10);
8515 cbAfficheDescription.setLayoutY(15);
8516 cbAfficheDescription.selectedProperty().addListener((ov, old_val, new_val) -> {
8517 // Ignore les changements pendant le chargement des données
8518 if (!bChargementEnCours && getiNombrePanoramiques() != 0) {
8519 setbDejaSauve(false);
8520 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
8521 // Met à jour l'objet Panoramique
8522 getPanoramiquesProjet()[getiPanoActuel()].setAffDescription(new_val);
8523 }
8524 if (!bChargementEnCours) {
8527 }
8528 });
8530
8531 apDescription.getChildren().addAll(cbAfficheDescription);
8532
8533 /*
8534 * *****************************************
8535 * Panel Infobulles
8536 * ****************************************
8537 */
8539 apInfoBulle.setPrefHeight(550);
8540 PaneOutil poInfoBulle = new PaneOutil(true, rbLocalisation.getString("interface.styleInfoBulle"), apInfoBulle, largeur);
8541 AnchorPane apIB = new AnchorPane(poInfoBulle.getApPaneOutil());
8542 lblInfoBulle.setLayoutX(30);
8543 lblInfoBulle.setLayoutY(10);
8545 cbOmbreInfoBulle = new CheckBox(rbLocalisation.getString("interface.ombreInfoBulle"));
8546 cbOmbreInfoBulle.setSelected(bOmbreInfoBulle);
8547 cbOmbreInfoBulle.setLayoutX(10);
8548 cbOmbreInfoBulle.setLayoutY(60);
8551 cbListePoliceInfoBulle.setLayoutX(200);
8552 cbListePoliceInfoBulle.setLayoutY(87);
8553 cbListePoliceInfoBulle.setMaxWidth(135);
8554
8555 Label lblChoixPoliceInfoBulle = new Label(rbLocalisation.getString("interface.choixPolice"));
8556 lblChoixPoliceInfoBulle.setLayoutX(10);
8557 lblChoixPoliceInfoBulle.setLayoutY(90);
8558 Label lblChoixTailleInfoBulle = new Label(rbLocalisation.getString("interface.choixTaillePolice"));
8559 lblChoixTailleInfoBulle.setLayoutX(10);
8560 lblChoixTailleInfoBulle.setLayoutY(120);
8562 slTaillePoliceInfoBulle.setLayoutX(200);
8563 slTaillePoliceInfoBulle.setLayoutY(120);
8564
8565 Label lblChoixCouleurInfoBulle = new Label(rbLocalisation.getString("interface.choixCouleur"));
8566 lblChoixCouleurInfoBulle.setLayoutX(10);
8567 lblChoixCouleurInfoBulle.setLayoutY(150);
8569 cpCouleurTextInfoBulle.setLayoutX(180);
8570 cpCouleurTextInfoBulle.setLayoutY(148);
8571 Label lblChoixCouleurFondInfoBulle = new Label(rbLocalisation.getString("interface.choixCouleurFond"));
8572 lblChoixCouleurFondInfoBulle.setLayoutX(10);
8573 lblChoixCouleurFondInfoBulle.setLayoutY(180);
8575 cpCouleurFondInfoBulle.setLayoutX(180);
8576 cpCouleurFondInfoBulle.setLayoutY(178);
8577 Label lblChoixCouleurBordureInfoBulle = new Label(rbLocalisation.getString("interface.choixCouleurBordure"));
8578 lblChoixCouleurBordureInfoBulle.setLayoutX(10);
8579 lblChoixCouleurBordureInfoBulle.setLayoutY(210);
8581 cpCouleurBordureInfoBulle.setLayoutX(180);
8582 cpCouleurBordureInfoBulle.setLayoutY(208);
8583 Label lblOpaciteInfoBulle = new Label(rbLocalisation.getString("interface.opaciteInfoBulle"));
8584 lblOpaciteInfoBulle.setLayoutX(10);
8585 lblOpaciteInfoBulle.setLayoutY(240);
8587 slOpaciteInfoBulle.setLayoutX(200);
8588 slOpaciteInfoBulle.setLayoutY(240);
8589
8590 Label lblTailleBordureInfoBulle = new Label(rbLocalisation.getString("interface.tailleBordure"));
8591 lblTailleBordureInfoBulle.setLayoutX(10);
8592 lblTailleBordureInfoBulle.setLayoutY(270);
8593 Rectangle rectTaille = new Rectangle(0, 0, 150, 40);
8594 rectTaille.setLayoutX(93);
8595 rectTaille.setLayoutY(334);
8596 rectTaille.setFill(Color.WHITE);
8597 rectTaille.setStroke(Color.BLACK);
8598 rectTaille.setStrokeWidth(1.0);
8599 Label lblRayonBordureInfoBulle = new Label(rbLocalisation.getString("interface.rayonBordure"));
8600 lblRayonBordureInfoBulle.setLayoutX(10);
8601 lblRayonBordureInfoBulle.setLayoutY(430);
8602 Rectangle rectRayon = new Rectangle(0, 0, 150, 40);
8603 rectRayon.setLayoutX(93);
8604 rectRayon.setLayoutY(470);
8605 rectRayon.setFill(Color.WHITE);
8606 rectRayon.setStroke(Color.BLACK);
8607
8609 bdfTailleBordureTop.setLayoutX(130);
8610 bdfTailleBordureTop.setLayoutY(300);
8613 bdfTailleBordureTop.setMaxWidth(70);
8615 bdfTailleBordureBottom.setLayoutX(130);
8616 bdfTailleBordureBottom.setLayoutY(380);
8619 bdfTailleBordureBottom.setMaxWidth(70);
8621 bdfTailleBordureLeft.setLayoutX(10);
8622 bdfTailleBordureLeft.setLayoutY(340);
8625 bdfTailleBordureLeft.setMaxWidth(70);
8627 bdfTailleBordureRight.setLayoutX(250);
8628 bdfTailleBordureRight.setLayoutY(340);
8631 bdfTailleBordureRight.setMaxWidth(70);
8632
8634 bdfArrondiTL.setLayoutX(10);
8635 bdfArrondiTL.setLayoutY(460);
8638 bdfArrondiTL.setMaxWidth(70);
8639
8641 bdfArrondiBL.setLayoutX(10);
8642 bdfArrondiBL.setLayoutY(500);
8645 bdfArrondiBL.setMaxWidth(70);
8646
8648 bdfArrondiTR.setLayoutX(250);
8649 bdfArrondiTR.setLayoutY(460);
8652 bdfArrondiTR.setMaxWidth(70);
8653
8655 bdfArrondiBR.setLayoutX(250);
8656 bdfArrondiBR.setLayoutY(500);
8659 bdfArrondiBR.setMaxWidth(70);
8660
8661 apInfoBulle.getChildren().addAll(lblInfoBulle,
8673 );
8674
8675
8676 /*
8677 * *****************************************
8678 * Panel Fenetre Info
8679 * ****************************************
8680 */
8681 apFenetreAfficheInfo.setVisible(false);
8682 lblFenetreURL.setVisible(false);
8684 apFenetreInfo.setPrefHeight(370);
8685 PaneOutil poEcran1 = new PaneOutil(rbLocalisation.getString("interface.styleFenetreInfo"), apFenetreInfo, largeur);
8686 AnchorPane apECR1 = new AnchorPane(poEcran1.getApPaneOutil());
8687
8688 CheckBox cbAfficheFenetreInfo = new CheckBox(rbLocalisation.getString("interface.afficheFenetreInfo"));
8690 cbAfficheFenetreInfo.setLayoutX(10);
8691 cbAfficheFenetreInfo.setLayoutY(15);
8692 cbAfficheFenetreInfo.setVisible(false);
8693 cbFenetreInfoPersonnalise = new CheckBox(rbLocalisation.getString("interface.fenetreInfoPersonnalise"));
8695 cbFenetreInfoPersonnalise.setLayoutX(10);
8696 cbFenetreInfoPersonnalise.setLayoutY(15);
8699 apFenetreInfoPers.setLayoutY(45);
8701 Line ligne1 = new Line(0, 0, vbOutils.getPrefWidth(), 0);
8702 ligne1.setStrokeWidth(0.2);
8703
8704 Label lblFenetreInfoImage = new Label(rbLocalisation.getString("interface.fenetreImage"));
8705 lblFenetreInfoImage.setLayoutX(20);
8706 lblFenetreInfoImage.setLayoutY(5);
8707 tfFenetreInfoImage = new TextField();
8708 tfFenetreInfoImage.setLayoutX(40);
8709 tfFenetreInfoImage.setLayoutY(25);
8710 tfFenetreInfoImage.setPrefWidth(250);
8711 Button btnFenetreInfo = new Button("...");
8712 btnFenetreInfo.setLayoutX(300);
8713 btnFenetreInfo.setLayoutY(25);
8714 Label lblFenetreInfoTaille = new Label(rbLocalisation.getString("interface.fenetreTaille"));
8715 lblFenetreInfoTaille.setLayoutX(20);
8716 lblFenetreInfoTaille.setLayoutY(55);
8718 slFenetreInfoTaille.setLayoutX(140);
8719 slFenetreInfoTaille.setLayoutY(55);
8720 Label lblFenetreInfoOpacite = new Label(rbLocalisation.getString("interface.fenetreOpacite"));
8721 lblFenetreInfoOpacite.setLayoutX(20);
8722 lblFenetreInfoOpacite.setLayoutY(85);
8724 slFenetreInfoOpacite.setLayoutX(140);
8725 slFenetreInfoOpacite.setLayoutY(85);
8726 Label lblFenetreInfoPosX = new Label(rbLocalisation.getString("interface.fenetrePosX"));
8727 lblFenetreInfoPosX.setLayoutX(20);
8728 lblFenetreInfoPosX.setLayoutY(120);
8730 bdfFenetreInfoPosX.setLayoutX(100);
8731 bdfFenetreInfoPosX.setLayoutY(115);
8732 bdfFenetreInfoPosX.setPrefWidth(60);
8733 Label lblFenetreInfoPosY = new Label(rbLocalisation.getString("interface.fenetrePosY"));
8734 lblFenetreInfoPosY.setLayoutX(180);
8735 lblFenetreInfoPosY.setLayoutY(120);
8737 bdfFenetreInfoPosY.setLayoutX(260);
8738 bdfFenetreInfoPosY.setLayoutY(115);
8739 bdfFenetreInfoPosY.setPrefWidth(60);
8740 Label lblFenetreInfoURL = new Label("URL");
8741 lblFenetreInfoURL.setLayoutX(20);
8742 lblFenetreInfoURL.setLayoutY(170);
8743 tfFenetreURL = new TextField();
8744 tfFenetreURL.setLayoutX(120);
8745 tfFenetreURL.setLayoutY(165);
8746 tfFenetreURL.setPrefWidth(210);
8747 Label lblFenetreInfoTexteURL = new Label(rbLocalisation.getString("interface.fenetreLibelleURL"));
8748 lblFenetreInfoTexteURL.setLayoutX(20);
8749 lblFenetreInfoTexteURL.setLayoutY(200);
8750 tfFenetreTexteURL = new TextField();
8751 tfFenetreTexteURL.setLayoutX(120);
8752 tfFenetreTexteURL.setLayoutY(195);
8753 tfFenetreTexteURL.setPrefWidth(210);
8754
8755 Label lblFenetrePoliceTaille = new Label(rbLocalisation.getString("interface.fenetrePoliceTaille"));
8756 lblFenetrePoliceTaille.setLayoutX(20);
8757 lblFenetrePoliceTaille.setLayoutY(230);
8759 slFenetrePoliceTaille.setLayoutX(140);
8760 slFenetrePoliceTaille.setLayoutY(230);
8761
8762 Label lblFenetreURLCouleur = new Label(rbLocalisation.getString("interface.fenetreURLChoixCouleur"));
8763 lblFenetreURLCouleur.setLayoutX(20);
8764 lblFenetreURLCouleur.setLayoutY(260);
8766 cpFenetreURLCouleur.setLayoutX(200);
8767 cpFenetreURLCouleur.setLayoutY(256);
8768
8769 Label lblFenetreURLPosX = new Label(rbLocalisation.getString("interface.fenetrePosX") + " URL");
8770 lblFenetreURLPosX.setLayoutX(20);
8771 lblFenetreURLPosX.setLayoutY(295);
8772
8774 bdfFenetreURLPosX.setLayoutX(110);
8775 bdfFenetreURLPosX.setLayoutY(290);
8776 bdfFenetreURLPosX.setPrefWidth(60);
8777 Label lblFenetreURLPosY = new Label(rbLocalisation.getString("interface.fenetrePosY") + " URL");
8778 lblFenetreURLPosY.setLayoutX(185);
8779 lblFenetreURLPosY.setLayoutY(295);
8781 bdfFenetreURLPosY.setLayoutX(275);
8782 bdfFenetreURLPosY.setLayoutY(290);
8783 bdfFenetreURLPosY.setPrefWidth(60);
8784
8785 apFenetreInfoPers.getChildren().addAll(
8786 ligne1,
8798 );
8799
8800 apFenetreInfo.getChildren().addAll(
8804 );
8805 apFenetreInfo.visibleProperty().addListener((ov, av, nv) -> {
8806 cbAfficheFenetreInfo.setSelected(nv);
8807 });
8808 /*
8809 * *****************************************
8810 * Panel Fenetre Aide
8811 * ****************************************
8812 */
8813 apFenetreAfficheInfo.setVisible(false);
8815 apFenetreAide.setPrefHeight(200);
8816 PaneOutil poEcran2 = new PaneOutil(rbLocalisation.getString("interface.styleFenetreAide"), apFenetreAide, largeur);
8817 AnchorPane apECR2 = new AnchorPane(poEcran2.getApPaneOutil());
8818
8819 CheckBox cbAfficheFenetreAide = new CheckBox(rbLocalisation.getString("interface.afficheFenetreAide"));
8821 cbAfficheFenetreAide.setLayoutX(10);
8822 cbAfficheFenetreAide.setLayoutY(300);
8823 cbAfficheFenetreAide.setVisible(false);
8824
8825 cbFenetreAidePersonnalise = new CheckBox(rbLocalisation.getString("interface.fenetreAidePersonnalise"));
8827 cbFenetreAidePersonnalise.setLayoutX(10);
8828 cbFenetreAidePersonnalise.setLayoutY(15);
8830 apFenetreAidePers.setLayoutY(45);
8832 Line ligne3 = new Line(0, 0, vbOutils.getPrefWidth(), 0);
8833 ligne3.setStrokeWidth(0.2);
8834
8835 Label lblFenetreAideImage = new Label(rbLocalisation.getString("interface.fenetreImage"));
8836 lblFenetreAideImage.setLayoutX(20);
8837 lblFenetreAideImage.setLayoutY(5);
8838 tfFenetreAideImage = new TextField();
8839 tfFenetreAideImage.setLayoutX(40);
8840 tfFenetreAideImage.setLayoutY(25);
8841 tfFenetreAideImage.setPrefWidth(250);
8842 Button btnFenetreAide = new Button("...");
8843 btnFenetreAide.setLayoutX(300);
8844 btnFenetreAide.setLayoutY(25);
8845 Label lblFenetreAideTaille = new Label(rbLocalisation.getString("interface.fenetreTaille"));
8846 lblFenetreAideTaille.setLayoutX(20);
8847 lblFenetreAideTaille.setLayoutY(55);
8849 slFenetreAideTaille.setLayoutX(140);
8850 slFenetreAideTaille.setLayoutY(55);
8851 Label lblFenetreAideOpacite = new Label(rbLocalisation.getString("interface.fenetreOpacite"));
8852 lblFenetreAideOpacite.setLayoutX(20);
8853 lblFenetreAideOpacite.setLayoutY(85);
8855 slFenetreAideOpacite.setLayoutX(140);
8856 slFenetreAideOpacite.setLayoutY(85);
8857 Label lblFenetreAidePosX = new Label(rbLocalisation.getString("interface.fenetrePosX"));
8858 lblFenetreAidePosX.setLayoutX(20);
8859 lblFenetreAidePosX.setLayoutY(120);
8861 bdfFenetreAidePosX.setLayoutX(100);
8862 bdfFenetreAidePosX.setLayoutY(115);
8863 bdfFenetreAidePosX.setPrefWidth(60);
8864 Label lblFenetreAidePosY = new Label(rbLocalisation.getString("interface.fenetrePosY"));
8865 lblFenetreAidePosY.setLayoutX(180);
8866 lblFenetreAidePosY.setLayoutY(120);
8868 bdfFenetreAidePosY.setLayoutX(260);
8869 bdfFenetreAidePosY.setLayoutY(115);
8870 bdfFenetreAidePosY.setPrefWidth(60);
8871
8872 Line ligne4 = new Line(0, 150, vbOutils.getPrefWidth(), 150);
8873 ligne4.setStrokeWidth(0.2);
8874
8875 apFenetreAidePers.getChildren().addAll(
8876 ligne3,
8882 ligne4
8883 );
8884
8885 apFenetreAide.getChildren().addAll(
8889 );
8890 apFenetreAide.visibleProperty().addListener((ov, av, nv) -> {
8891 cbAfficheFenetreAide.setSelected(nv);
8892 });
8893 /*
8894 * *************************************************
8895 * Panel HotSpots Panoramiques
8896 * *************************************************
8897
8898 */
8899 int iIconesParLigne = 6; // Réduit de 9 à 6 pour l'espacement
8900
8901 // AnchorPane pour les icônes seulement
8903 // Calcul correct du nombre de lignes : arrondi supérieur de (nombre / par ligne)
8904 int iNombreLignes = (int) Math.ceil((double) iNombreHotSpots / iIconesParLigne);
8905 apIconesHS1Content.setPrefHeight(45.d * iNombreLignes + 50);
8906 apIconesHS1Content.setPadding(new Insets(PANEL_TOP_MARGIN, 5, 5, 15)); // Espacement haut + décalage gauche
8907
8908 // Déterminer la couleur de fond selon le thème
8910 String couleurFond = estThemeSombre ? "#3a3a3a" : "#e8e8e8"; // Plus clair si sombre, plus sombre si clair
8911 apIconesHS1Content.setStyle("-fx-background-color: " + couleurFond + "; -fx-background-radius: 5px;");
8912
8913 int i = 0;
8914 double xHS;
8915 double yHS = 25;
8917 String strExtension = strNomImage.substring(strNomImage.length() - 3, strNomImage.length());
8918 Pane paneFond = new Pane();
8919 ivHotspots[i] = new ImageView(new Image("file:" + strRepertHotSpots + File.separator + strNomImage, -1, 30, true, true, true));
8920
8921 int iCol = i % iIconesParLigne;
8922 int iRow = i / iIconesParLigne;
8923 xHS = iCol * 50 + 5; // Espacement horizontal
8924 yHS = iRow * 45 + 25; // Espacement vertical
8925 paneFond.setLayoutX(xHS);
8926 paneFond.setLayoutY(yHS);
8927 paneFond.setOnMouseClicked((me) -> {
8928 apVisualisation.getChildren().remove(hbbarreBoutons);
8929 // Ne supprimer que l'ImageView panoramique qui va être recréée
8930 apVisualisation.getChildren().remove(ivHotSpotPanoramique);
8932 strTypeHS = strExtension.toLowerCase();
8933 cpCouleurHotspotsPanoramique.setDisable(strTypeHS.equals("gif"));
8934
8936 // Ne pas appeler afficheBarreClassique qui ajoute les ImageViews, juste recharger les images
8938
8939 changeCouleurHS(couleurHotspots.getHue(), couleurHotspots.getSaturation(), couleurHotspots.getBrightness());
8940
8941 // Recréer l'ImageView avec l'image colorée (pour apVisualisation)
8942 if (!strTypeHS.equals("gif")) {
8944 ivHotSpotPanoramique.setSmooth(true);
8945 } else {
8946 ivHotSpotPanoramique = new ImageView(new Image("file:" + strRepertHotSpots + File.separator + strNomImage));
8947 ivHotSpotPanoramique.setSmooth(true);
8948 }
8950 ivHotSpotPanoramique.setPreserveRatio(true);
8951 ivHotSpotPanoramique.setLayoutX(700);
8952 ivHotSpotPanoramique.setLayoutY(260);
8953 apVisualisation.getChildren().add(ivHotSpotPanoramique);
8954
8955 // Recréer la vignette du panel de configuration
8956 paneVignettePano.getChildren().clear();
8957 if (!strTypeHS.equals("gif")) {
8959 } else {
8960 ivVignettePanoConfig = new ImageView(new Image("file:" + strRepertHotSpots + File.separator + strNomImage));
8961 }
8962 ivVignettePanoConfig.setSmooth(true);
8963 ivVignettePanoConfig.setPreserveRatio(true);
8964 ivVignettePanoConfig.setFitWidth(48); // Taille fixe pour la vignette du panel
8965 paneVignettePano.getChildren().add(ivVignettePanoConfig);
8966
8967 // Remettre la barre de boutons
8968 apVisualisation.getChildren().add(hbbarreBoutons);
8969
8970 // Réappliquer l'animation
8972 });
8973 paneFond.getChildren().add(ivHotspots[i]);
8974 apIconesHS1Content.getChildren().add(paneFond);
8975 i++;
8976 }
8977
8978 // ScrollPane pour limiter la hauteur et éviter que le contenu passe derrière les autres contrôles
8980 spIconesHS1.setLayoutX(10);
8981 spIconesHS1.setLayoutY(10);
8982 spIconesHS1.setPrefWidth(largeur - 20);
8983 spIconesHS1.setMaxHeight(200); // Hauteur maximale pour éviter le débordement
8984 spIconesHS1.setFitToWidth(true);
8985 spIconesHS1.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
8986 spIconesHS1.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
8987
8988 // AnchorPane principal contenant les icônes et les contrôles
8989 // Pas de hauteur fixe - s'adapte au contenu
8990 apHotSpots1 = new AnchorPane();
8991
8992 apHotSpots1.getChildren().add(spIconesHS1);
8993
8994 // Conteneur dédié pour la vignette de prévisualisation
8995 paneVignettePano = new Pane();
8996 paneVignettePano.setLayoutX(250);
8997 paneVignettePano.setLayoutY(305);
8998 paneVignettePano.setPrefWidth(60);
8999 paneVignettePano.setPrefHeight(60);
9000
9001 // Vignette de prévisualisation de l'icône sélectionnée (pour ce panel)
9002 ivVignettePanoConfig.setPreserveRatio(true);
9003 ivVignettePanoConfig.setFitWidth(48); // Taille fixe pour la vignette du panel
9004 paneVignettePano.getChildren().add(ivVignettePanoConfig);
9005
9006 // Contrôles en dessous du ScrollPane (toujours visibles)
9008 Label lblCouleurHotspot = new Label(rbLocalisation.getString("interface.couleurHS"));
9009 lblCouleurHotspot.setLayoutX(20);
9010 lblCouleurHotspot.setLayoutY(220);
9011 cpCouleurHotspotsPanoramique.setLayoutX(200);
9012 cpCouleurHotspotsPanoramique.setLayoutY(220);
9013 Label lblTailleHotspots = new Label(rbLocalisation.getString("interface.tailleMasque"));
9014 lblTailleHotspots.setLayoutX(20);
9015 lblTailleHotspots.setLayoutY(260);
9017 slTailleHotspotsPanoramique.setLayoutX(200);
9018 slTailleHotspotsPanoramique.setLayoutY(260);
9019
9020 // ComboBox pour le type d'animation des nouveaux hotspots panoramiques
9021 Label lblTypeAnimationPano = new Label(rbLocalisation.getString("main.typeAnimation"));
9022 lblTypeAnimationPano.setLayoutX(20);
9023 lblTypeAnimationPano.setLayoutY(300);
9024
9026 cbTypeAnimationPanoDefaut.setLayoutX(20);
9027 cbTypeAnimationPanoDefaut.setLayoutY(325);
9028 cbTypeAnimationPanoDefaut.setPrefWidth(160);
9029 cbTypeAnimationPanoDefaut.getItems().addAll(
9030 "none", "pulse", "rotation", "desaturation", "bounce", "swing", "glow",
9031 "heartbeat", "shake", "flip", "wobble", "tada", "flash", "rubber", "jello", "neon", "float"
9032 );
9034 cbTypeAnimationPanoDefaut.valueProperty().addListener((obs, oldVal, newVal) -> {
9037 });
9038
9039 cbHotspotsPanoAgrandisDefaut = new CheckBox(rbLocalisation.getString("main.agrandissementSurvol"));
9040 cbHotspotsPanoAgrandisDefaut.setLayoutX(20);
9041 cbHotspotsPanoAgrandisDefaut.setLayoutY(360);
9043
9044 // Bouton pour appliquer à tous les hotspots panoramiques existants
9045 Button btnAppliquerTousPano = new Button(rbLocalisation.getString("main.appliquerATous"));
9046 btnAppliquerTousPano.setLayoutX(20);
9047 btnAppliquerTousPano.setLayoutY(390);
9048 btnAppliquerTousPano.setPrefWidth(300);
9049 btnAppliquerTousPano.setMaxWidth(300);
9050 btnAppliquerTousPano.setOnAction((e) -> {
9051 if (getiNombrePanoramiques() != 0) {
9052 for (int iPano = 0; iPano < getiNombrePanoramiques(); iPano++) {
9053 for (int iHS = 0; iHS < getPanoramiquesProjet()[iPano].getNombreHotspots(); iHS++) {
9054 // Appliquer l'icône source et le nom de fichier
9055 getPanoramiquesProjet()[iPano].getHotspot(iHS).setStrNomIconeSource(strNomfichierHS);
9056 getPanoramiquesProjet()[iPano].getHotspot(iHS).setImgIconeSource(
9058 );
9059 // Appliquer la couleur (format: hue;saturation;brightness)
9060 String strCouleur = couleurHotspots.getHue() + ";" +
9061 couleurHotspots.getSaturation() + ";" +
9062 couleurHotspots.getBrightness();
9063 getPanoramiquesProjet()[iPano].getHotspot(iHS).setStrCouleurPerso(strCouleur);
9064 // Appliquer la taille
9065 getPanoramiquesProjet()[iPano].getHotspot(iHS).setTailleHotspot(
9066 (int) slTailleHotspotsPanoramique.getValue()
9067 );
9068 // Appliquer l'animation
9069 getPanoramiquesProjet()[iPano].getHotspot(iHS).setStrTypeAnimation(strTypeAnimationPanoDefaut);
9070 // Appliquer l'agrandissement au survol
9071 getPanoramiquesProjet()[iPano].getHotspot(iHS).setAgranditSurvol(cbHotspotsPanoAgrandisDefaut.isSelected());
9072 }
9073 }
9074 setbDejaSauve(false);
9075 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
9076 rafraichitAffichageHotSpots();
9077 }
9078 });
9079
9080 apHotSpots1.getChildren().addAll(
9085 );
9086
9087 AnchorPane apHS1 = new AnchorPane(new PaneOutil(true, rbLocalisation.getString("interface.HSPanoramique"), apHotSpots1, largeur).getApPaneOutil());
9088 /*
9089 * *************************************************
9090 * Panel HotSpots Photos
9091 * *************************************************
9092
9093 */
9094 // AnchorPane pour les icônes seulement
9096 // Calcul correct du nombre de lignes : arrondi supérieur de (nombre / par ligne)
9098 apIconesHS2Content.setPrefHeight(45.d * iNombreLignesPhoto + 50);
9099 apIconesHS2Content.setPadding(new Insets(PANEL_TOP_MARGIN, 5, 5, 15)); // Espacement haut + décalage gauche
9100
9101 // Déterminer la couleur de fond selon le thème
9103 String couleurFond2 = estThemeSombre2 ? "#3a3a3a" : "#e8e8e8";
9104 apIconesHS2Content.setStyle("-fx-background-color: " + couleurFond2 + "; -fx-background-radius: 5px;");
9105
9106 i = 0;
9108 String strExtension = strNomImage.substring(strNomImage.length() - 3, strNomImage.length());
9109 Pane paneFond = new Pane();
9110 ivHotspotsPhoto[i] = new ImageView(new Image("file:" + strRepertHotSpotsPhoto + File.separator + strNomImage, -1, 30, true, true, true));
9111 int iCol = i % iIconesParLigne;
9112 int iRow = i / iIconesParLigne;
9113 xHS = iCol * 50 + 5;
9114 yHS = (iRow) * 45 + 25;
9115 paneFond.setLayoutX(xHS);
9116 paneFond.setLayoutY(yHS);
9117 paneFond.setOnMouseClicked((me) -> {
9118 apVisualisation.getChildren().remove(hbbarreBoutons);
9119 // Ne supprimer que l'ImageView Image qui va être recréée
9120 apVisualisation.getChildren().remove(ivHotSpotImage);
9121 strTypeHSImage = strExtension.toLowerCase();
9122 cpCouleurHotspotsPhoto.setDisable(strTypeHSImage.equals("gif"));
9125 // Ne pas appeler afficheBarreClassique qui ajoute les ImageViews, juste recharger les images
9127
9128 changeCouleurHSPhoto(couleurHotspotsPhoto.getHue(), couleurHotspotsPhoto.getSaturation(), couleurHotspotsPhoto.getBrightness());
9129 // Recréer l'ImageView avec l'image colorée (pour apVisualisation)
9130 if (!strTypeHSImage.equals("gif")) {
9132 ivHotSpotImage.setSmooth(true);
9133 } else {
9134 ivHotSpotImage = new ImageView(new Image("file:" + strRepertHotSpotsPhoto + File.separator + strNomImage));
9135 ivHotSpotImage.setSmooth(true);
9136 }
9138 ivHotSpotImage.setPreserveRatio(true);
9139 ivHotSpotImage.setLayoutX(820);
9140 ivHotSpotImage.setLayoutY(260);
9141 apVisualisation.getChildren().add(ivHotSpotImage);
9142
9143 // Recréer la vignette du panel de configuration
9144 paneVignetteImage.getChildren().clear();
9145 if (!strTypeHSImage.equals("gif")) {
9147 } else {
9148 ivVignetteImageConfig = new ImageView(new Image("file:" + strRepertHotSpotsPhoto + File.separator + strNomImage));
9149 }
9150 ivVignetteImageConfig.setSmooth(true);
9151 ivVignetteImageConfig.setPreserveRatio(true);
9152 ivVignetteImageConfig.setFitWidth(48); // Taille fixe pour la vignette du panel
9153 paneVignetteImage.getChildren().add(ivVignetteImageConfig);
9154
9155 // Remettre la barre de boutons
9156 apVisualisation.getChildren().add(hbbarreBoutons);
9157
9158 // Réappliquer l'animation
9160 });
9161 paneFond.getChildren().add(ivHotspotsPhoto[i]);
9162 apIconesHS2Content.getChildren().add(paneFond);
9163 i++;
9164 }
9165
9166 // ScrollPane pour limiter la hauteur et éviter que le contenu passe derrière les autres contrôles
9168 spIconesHS2.setLayoutX(10);
9169 spIconesHS2.setLayoutY(10);
9170 spIconesHS2.setPrefWidth(largeur - 20);
9171 spIconesHS2.setMaxHeight(200); // Hauteur maximale pour éviter le débordement
9172 spIconesHS2.setFitToWidth(true);
9173 spIconesHS2.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
9174 spIconesHS2.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
9175
9176 // AnchorPane principal contenant les icônes et les contrôles
9177 // Pas de hauteur fixe - s'adapte au contenu
9178 apHotSpots2 = new AnchorPane();
9179
9180 apHotSpots2.getChildren().add(spIconesHS2);
9181
9182 // Conteneur dédié pour la vignette de prévisualisation
9183 paneVignetteImage = new Pane();
9184 paneVignetteImage.setLayoutX(250);
9185 paneVignetteImage.setLayoutY(305);
9186 paneVignetteImage.setPrefWidth(60);
9187 paneVignetteImage.setPrefHeight(60);
9188
9189 // Vignette de prévisualisation de l'icône sélectionnée (pour ce panel)
9190 ivVignetteImageConfig.setPreserveRatio(true);
9191 ivVignetteImageConfig.setFitWidth(48); // Taille fixe pour la vignette du panel
9192 paneVignetteImage.getChildren().add(ivVignetteImageConfig);
9193
9194 // Contrôles en dessous du ScrollPane (toujours visibles)
9196 Label lblCouleurHotspotPhoto = new Label(rbLocalisation.getString("interface.couleurHSPhoto"));
9197 lblCouleurHotspotPhoto.setLayoutX(20);
9198 lblCouleurHotspotPhoto.setLayoutY(220);
9199 cpCouleurHotspotsPhoto.setLayoutX(200);
9200 cpCouleurHotspotsPhoto.setLayoutY(220);
9201 Label lblTailleHotspotsImage = new Label(rbLocalisation.getString("interface.tailleMasque"));
9202 lblTailleHotspotsImage.setLayoutX(20);
9203 lblTailleHotspotsImage.setLayoutY(260);
9205 slTailleHotspotsImage.setLayoutX(200);
9206 slTailleHotspotsImage.setLayoutY(260);
9207
9208 // ComboBox pour le type d'animation des nouveaux hotspots photos
9209 Label lblTypeAnimationPhoto = new Label(rbLocalisation.getString("main.typeAnimation"));
9210 lblTypeAnimationPhoto.setLayoutX(20);
9211 lblTypeAnimationPhoto.setLayoutY(300);
9212
9214 cbTypeAnimationPhotoDefaut.setLayoutX(20);
9215 cbTypeAnimationPhotoDefaut.setLayoutY(325);
9216 cbTypeAnimationPhotoDefaut.setPrefWidth(160);
9217 cbTypeAnimationPhotoDefaut.getItems().addAll(
9218 "none", "pulse", "rotation", "desaturation", "bounce", "swing", "glow",
9219 "heartbeat", "shake", "flip", "wobble", "tada", "flash", "rubber", "jello", "neon", "float"
9220 );
9222 cbTypeAnimationPhotoDefaut.valueProperty().addListener((obs, oldVal, newVal) -> {
9225 });
9226
9227 cbHotspotsPhotoAgrandisDefaut = new CheckBox(rbLocalisation.getString("main.agrandissementSurvol"));
9228 cbHotspotsPhotoAgrandisDefaut.setLayoutX(20);
9229 cbHotspotsPhotoAgrandisDefaut.setLayoutY(360);
9231
9232 // Bouton pour appliquer à tous les hotspots photos existants
9233 Button btnAppliquerTousPhoto = new Button(rbLocalisation.getString("main.appliquerATous"));
9234 btnAppliquerTousPhoto.setLayoutX(20);
9235 btnAppliquerTousPhoto.setLayoutY(390);
9236 btnAppliquerTousPhoto.setPrefWidth(300);
9237 btnAppliquerTousPhoto.setMaxWidth(300);
9238 btnAppliquerTousPhoto.setOnAction((e) -> {
9239 if (getiNombrePanoramiques() != 0) {
9240 for (int iPano = 0; iPano < getiNombrePanoramiques(); iPano++) {
9241 for (int iHS = 0; iHS < getPanoramiquesProjet()[iPano].getNombreHotspotImage(); iHS++) {
9242 // Appliquer l'icône source et le nom de fichier
9243 getPanoramiquesProjet()[iPano].getHotspotImage(iHS).setStrNomIconeSource(strNomfichierHSImage);
9244 getPanoramiquesProjet()[iPano].getHotspotImage(iHS).setImgIconeSource(
9246 );
9247 // Appliquer la couleur (format: hue;saturation;brightness)
9248 String strCouleur = couleurHotspotsPhoto.getHue() + ";" +
9249 couleurHotspotsPhoto.getSaturation() + ";" +
9250 couleurHotspotsPhoto.getBrightness();
9251 getPanoramiquesProjet()[iPano].getHotspotImage(iHS).setStrCouleurPerso(strCouleur);
9252 // Appliquer la taille
9253 getPanoramiquesProjet()[iPano].getHotspotImage(iHS).setTailleHotspot(
9254 (int) slTailleHotspotsImage.getValue()
9255 );
9256 // Appliquer l'animation
9257 getPanoramiquesProjet()[iPano].getHotspotImage(iHS).setStrTypeAnimation(strTypeAnimationPhotoDefaut);
9258 // Appliquer l'agrandissement au survol
9259 getPanoramiquesProjet()[iPano].getHotspotImage(iHS).setAgranditSurvol(cbHotspotsPhotoAgrandisDefaut.isSelected());
9260 }
9261 }
9262 setbDejaSauve(false);
9263 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
9264 rafraichitAffichageHotSpots();
9265 }
9266 });
9267
9268 apHotSpots2.getChildren().addAll(
9273 );
9274
9275 AnchorPane apHS2 = new AnchorPane(new PaneOutil(true, rbLocalisation.getString("interface.HSPhoto"), apHotSpots2, largeur).getApPaneOutil());
9276 /*
9277 * *************************************************
9278 * Panel HotSpots HTML
9279 * *************************************************
9280
9281 */
9282 // AnchorPane pour les icônes seulement
9284 // Calcul correct du nombre de lignes : arrondi supérieur de (nombre / par ligne)
9286 apIconesHS3Content.setPrefHeight(45.d * iNombreLignesHTML + 50);
9287 apIconesHS3Content.setPadding(new Insets(PANEL_TOP_MARGIN, 5, 5, 15)); // Espacement haut + décalage gauche
9288
9289 // Déterminer la couleur de fond selon le thème
9291 String couleurFond3 = estThemeSombre3 ? "#3a3a3a" : "#e8e8e8";
9292 apIconesHS3Content.setStyle("-fx-background-color: " + couleurFond3 + "; -fx-background-radius: 5px;");
9293
9294 i = 0;
9296 String strExtension = strNomHTML.substring(strNomHTML.length() - 3, strNomHTML.length());
9297 Pane paneFond = new Pane();
9298 ivHotspotsHTML[i] = new ImageView(new Image("file:" + strRepertHotSpotsHTML + File.separator + strNomHTML, -1, 30, true, true, true));
9299 int iCol = i % iIconesParLigne;
9300 int iRow = i / iIconesParLigne;
9301 xHS = iCol * 50 + 5;
9302 yHS = (iRow) * 45 + 25;
9303 paneFond.setLayoutX(xHS);
9304 paneFond.setLayoutY(yHS);
9305 paneFond.setOnMouseClicked((me) -> {
9306 apVisualisation.getChildren().remove(hbbarreBoutons);
9307 // Ne supprimer que l'ImageView HTML qui va être recréée
9308 apVisualisation.getChildren().remove(ivHotSpotHTML);
9309 strTypeHSHTML = strExtension.toLowerCase();
9310 cpCouleurHotspotsHTML.setDisable(strTypeHSHTML.equals("gif"));
9313 // Ne pas appeler afficheBarreClassique qui ajoute les ImageViews, juste recharger les images
9315
9316 changeCouleurHSHTML(couleurHotspotsHTML.getHue(), couleurHotspotsHTML.getSaturation(), couleurHotspotsHTML.getBrightness());
9317 // Recréer l'ImageView avec l'image colorée (pour apVisualisation)
9318 if (!strTypeHSHTML.equals("gif")) {
9320 ivHotSpotHTML.setSmooth(true);
9321 } else {
9322 ivHotSpotHTML = new ImageView(new Image("file:" + strRepertHotSpotsHTML + File.separator + strNomHTML));
9323 ivHotSpotHTML.setSmooth(true);
9324 }
9326 ivHotSpotHTML.setPreserveRatio(true);
9327 ivHotSpotHTML.setLayoutX(940);
9328 ivHotSpotHTML.setLayoutY(260);
9329 apVisualisation.getChildren().add(ivHotSpotHTML);
9330
9331 // Recréer la vignette du panel de configuration
9332 paneVignetteHTML.getChildren().clear();
9333 if (!strTypeHSHTML.equals("gif")) {
9335 } else {
9336 ivVignetteHTMLConfig = new ImageView(new Image("file:" + strRepertHotSpotsHTML + File.separator + strNomHTML));
9337 }
9338 ivVignetteHTMLConfig.setSmooth(true);
9339 ivVignetteHTMLConfig.setPreserveRatio(true);
9340 ivVignetteHTMLConfig.setFitWidth(48); // Taille fixe pour la vignette du panel
9341 paneVignetteHTML.getChildren().add(ivVignetteHTMLConfig);
9342
9343 // Remettre la barre de boutons
9344 apVisualisation.getChildren().add(hbbarreBoutons);
9345
9346 // Réappliquer l'animation
9348 });
9349 paneFond.getChildren().add(ivHotspotsHTML[i]);
9350 apIconesHS3Content.getChildren().add(paneFond);
9351 i++;
9352 }
9353
9354 // ScrollPane pour limiter la hauteur et éviter que le contenu passe derrière les autres contrôles
9356 spIconesHS3.setLayoutX(10);
9357 spIconesHS3.setLayoutY(10);
9358 spIconesHS3.setPrefWidth(largeur - 20);
9359 spIconesHS3.setMaxHeight(200); // Hauteur maximale pour éviter le débordement
9360 spIconesHS3.setFitToWidth(true);
9361 spIconesHS3.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
9362 spIconesHS3.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
9363
9364 // AnchorPane principal contenant les icônes et les contrôles
9365 // Pas de hauteur fixe - s'adapte au contenu
9366 apHotSpots3 = new AnchorPane();
9367
9368 apHotSpots3.getChildren().add(spIconesHS3);
9369
9370 // Conteneur dédié pour la vignette de prévisualisation
9371 paneVignetteHTML = new Pane();
9372 paneVignetteHTML.setLayoutX(250);
9373 paneVignetteHTML.setLayoutY(305);
9374 paneVignetteHTML.setPrefWidth(60);
9375 paneVignetteHTML.setPrefHeight(60);
9376
9377 // Vignette de prévisualisation de l'icône sélectionnée (pour ce panel)
9378 ivVignetteHTMLConfig.setPreserveRatio(true);
9379 ivVignetteHTMLConfig.setFitWidth(48); // Taille fixe pour la vignette du panel
9380 paneVignetteHTML.getChildren().add(ivVignetteHTMLConfig);
9381
9382 // Contrôles en dessous du ScrollPane (toujours visibles)
9384 Label lblCouleurHotspotHTML = new Label(rbLocalisation.getString("interface.couleurHSHTML"));
9385 lblCouleurHotspotHTML.setLayoutX(20);
9386 lblCouleurHotspotHTML.setLayoutY(220);
9387 cpCouleurHotspotsHTML.setLayoutX(200);
9388 cpCouleurHotspotsHTML.setLayoutY(220);
9389 Label lblTailleHotspotsHTML = new Label(rbLocalisation.getString("interface.tailleMasque"));
9390 lblTailleHotspotsHTML.setLayoutX(20);
9391 lblTailleHotspotsHTML.setLayoutY(260);
9393 slTailleHotspotsHTML.setLayoutX(200);
9394 slTailleHotspotsHTML.setLayoutY(260);
9395
9396 // ComboBox pour le type d'animation des nouveaux hotspots HTML
9397 Label lblTypeAnimationHTML = new Label(rbLocalisation.getString("main.typeAnimation"));
9398 lblTypeAnimationHTML.setLayoutX(20);
9399 lblTypeAnimationHTML.setLayoutY(300);
9400
9402 cbTypeAnimationHTMLDefaut.setLayoutX(20);
9403 cbTypeAnimationHTMLDefaut.setLayoutY(325);
9404 cbTypeAnimationHTMLDefaut.setPrefWidth(160);
9405 cbTypeAnimationHTMLDefaut.getItems().addAll(
9406 "none", "pulse", "rotation", "desaturation", "bounce", "swing", "glow",
9407 "heartbeat", "shake", "flip", "wobble", "tada", "flash", "rubber", "jello", "neon", "float"
9408 );
9410 cbTypeAnimationHTMLDefaut.valueProperty().addListener((obs, oldVal, newVal) -> {
9413 });
9414
9415 cbHotspotsHTMLAgrandisDefaut = new CheckBox(rbLocalisation.getString("main.agrandissementSurvol"));
9416 cbHotspotsHTMLAgrandisDefaut.setLayoutX(20);
9417 cbHotspotsHTMLAgrandisDefaut.setLayoutY(360);
9419
9420 // Bouton pour appliquer à tous les hotspots HTML existants
9421 Button btnAppliquerTousHTML = new Button(rbLocalisation.getString("main.appliquerATous"));
9422 btnAppliquerTousHTML.setLayoutX(20);
9423 btnAppliquerTousHTML.setLayoutY(390);
9424 btnAppliquerTousHTML.setPrefWidth(300);
9425 btnAppliquerTousHTML.setMaxWidth(300);
9426 btnAppliquerTousHTML.setOnAction((e) -> {
9427 if (getiNombrePanoramiques() != 0) {
9428 for (int iPano = 0; iPano < getiNombrePanoramiques(); iPano++) {
9429 for (int iHS = 0; iHS < getPanoramiquesProjet()[iPano].getNombreHotspotHTML(); iHS++) {
9430 // Appliquer l'icône source et le nom de fichier
9431 getPanoramiquesProjet()[iPano].getHotspotHTML(iHS).setStrNomIconeSource(strNomfichierHSHTML);
9432 getPanoramiquesProjet()[iPano].getHotspotHTML(iHS).setImgIconeSource(
9434 );
9435 // Appliquer la couleur (format: hue;saturation;brightness)
9436 String strCouleur = couleurHotspotsHTML.getHue() + ";" +
9437 couleurHotspotsHTML.getSaturation() + ";" +
9438 couleurHotspotsHTML.getBrightness();
9439 getPanoramiquesProjet()[iPano].getHotspotHTML(iHS).setStrCouleurPerso(strCouleur);
9440 // Appliquer la taille
9441 getPanoramiquesProjet()[iPano].getHotspotHTML(iHS).setTailleHotspot(
9442 (int) slTailleHotspotsHTML.getValue()
9443 );
9444 // Appliquer l'animation
9445 getPanoramiquesProjet()[iPano].getHotspotHTML(iHS).setStrTypeAnimation(strTypeAnimationHTMLDefaut);
9446 // Appliquer l'agrandissement au survol
9447 getPanoramiquesProjet()[iPano].getHotspotHTML(iHS).setAgranditSurvol(cbHotspotsHTMLAgrandisDefaut.isSelected());
9448 }
9449 }
9450 setbDejaSauve(false);
9451 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
9452 rafraichitAffichageHotSpots();
9453 }
9454 });
9455
9456 apHotSpots3.getChildren().addAll(
9461 );
9462
9463 AnchorPane apHS3 = new AnchorPane(new PaneOutil(true, rbLocalisation.getString("interface.HSHTML"), apHotSpots3, largeur).getApPaneOutil());
9464
9465
9466 /*
9467 * ***************************************
9468 * Panel Barre Navigation Classique
9469 * ***************************************
9470 */
9472 PaneOutil poClass = new PaneOutil(rbLocalisation.getString("interface.barreBoutons"), apBarreClassique, largeur);
9473 AnchorPane apCLASS = new AnchorPane(poClass.getApPaneOutil());
9474 apBarreClassique.setLayoutY(40);
9475 apBarreClassique.setPrefHeight(420);
9476 apBarreClassique.setMinWidth(vbOutils.getPrefWidth() - 20);
9477
9478 cbBarreClassiqueVisible = new CheckBox(rbLocalisation.getString("interface.barreVisible"));
9479 cbBarreClassiqueVisible.setLayoutX(10);
9481 cbBarreClassiqueVisible.setSelected(true);
9482 listeNiveau.stream().forEach((nomNiveau) -> {
9484 });
9485 cbNiveauBarreClassique.getSelectionModel().select(getiCalqueBarreClassique() - 1);
9486 cbNiveauBarreClassique.setLayoutX(largeur - 110);
9488 cbNiveauBarreClassique.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
9489 if (getiNombrePanoramiques() != 0) {
9490 setbDejaSauve(false);
9491 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
9492 }
9495 });
9496
9497 poClass.setbValide(true);
9498 Label lblStyleBarreClassique = new Label(rbLocalisation.getString("interface.style"));
9499 lblStyleBarreClassique.setLayoutX(10);
9500 lblStyleBarreClassique.setLayoutY(60);
9501
9503 strListeStyles.stream().forEach((nomStyle) -> {
9505 });
9506 cblisteStyleBarreClassique.setLayoutX(150);
9507 cblisteStyleBarreClassique.setLayoutY(70);
9510 Label lblCouleurBarreClassique = new Label(rbLocalisation.getString("interface.couleurBarre"));
9511 lblCouleurBarreClassique.setLayoutX(20);
9512 lblCouleurBarreClassique.setLayoutY(110);
9513 cpCouleurBarreClassique.setLayoutX(150);
9514 cpCouleurBarreClassique.setLayoutY(105);
9515
9524
9525 rbTopLeftBarreClassique.setUserData("top:left");
9526 rbTopCenterBarreClassique.setUserData("top:center");
9527 rbTopRightBarreClassique.setUserData("top:right");
9528 rbMiddleLeftBarreClassique.setUserData("middle:left");
9529 rbMiddleRightBarreClassique.setUserData("middle:right");
9530 rbBottomLeftBarreClassique.setUserData("bottom:left");
9531 rbBottomCenterBarreClassique.setUserData("bottom:center");
9532 rbBottomRightBarreClassique.setUserData("bottom:right");
9533
9542
9543 int iPosX = 250;
9544 int iPosY = 140;
9545
9546 rbTopLeftBarreClassique.setLayoutX(iPosX);
9547 rbTopCenterBarreClassique.setLayoutX(iPosX + 20);
9548 rbTopRightBarreClassique.setLayoutX(iPosX + 40);
9549 rbTopLeftBarreClassique.setLayoutY(iPosY);
9550 rbTopCenterBarreClassique.setLayoutY(iPosY);
9551 rbTopRightBarreClassique.setLayoutY(iPosY);
9552
9554 rbMiddleRightBarreClassique.setLayoutX(iPosX + 40);
9555 rbMiddleLeftBarreClassique.setLayoutY(iPosY + 20);
9556 rbMiddleRightBarreClassique.setLayoutY(iPosY + 20);
9557
9559 rbBottomCenterBarreClassique.setLayoutX(iPosX + 20);
9560 rbBottomRightBarreClassique.setLayoutX(iPosX + 40);
9561 rbBottomLeftBarreClassique.setLayoutY(iPosY + 40);
9562 rbBottomCenterBarreClassique.setLayoutY(iPosY + 40);
9563 rbBottomRightBarreClassique.setLayoutY(iPosY + 40);
9564 rbBottomCenterBarreClassique.setSelected(true);
9565 Label lblPositionBarreClassique = new Label(rbLocalisation.getString("interface.position"));
9566 lblPositionBarreClassique.setLayoutX(10);
9567 lblPositionBarreClassique.setLayoutY(140);
9568
9569 Label lblOffsetXBarreClassique = new Label("dX :");
9570 lblOffsetXBarreClassique.setLayoutX(25);
9571 lblOffsetXBarreClassique.setLayoutY(205);
9572 Label lblOffsetYBarreClassique = new Label("dY :");
9573 lblOffsetYBarreClassique.setLayoutX(175);
9574 lblOffsetYBarreClassique.setLayoutY(205);
9576 bdfOffsetXBarreClassique.setLayoutX(50);
9577 bdfOffsetXBarreClassique.setLayoutY(200);
9580 bdfOffsetXBarreClassique.setMaxWidth(100);
9582 bdfOffsetYBarreClassique.setLayoutX(200);
9583 bdfOffsetYBarreClassique.setLayoutY(200);
9586 bdfOffsetYBarreClassique.setMaxWidth(100);
9587
9588 Label lblEspacementBarreClassique = new Label(rbLocalisation.getString("interface.espacementBoutons"));
9589 lblEspacementBarreClassique.setLayoutX(10);
9590 lblEspacementBarreClassique.setLayoutY(240);
9591 slEspacementBarreClassique = new Slider(4, 25, 4);
9592 slEspacementBarreClassique.setLayoutX(170);
9593 slEspacementBarreClassique.setLayoutY(240);
9594
9595 cbDeplacementsBarreClassique = new CheckBox(rbLocalisation.getString("interface.deplacementsVisible"));
9596 cbZoomBarreClassique = new CheckBox(rbLocalisation.getString("interface.zoomVisible"));
9597 cbOutilsBarreClassique = new CheckBox(rbLocalisation.getString("interface.outilsVisible"));
9598 cbSourisBarreClassique = new CheckBox(rbLocalisation.getString("interface.outilsSouris"));
9599 cbRotationBarreClassique = new CheckBox(rbLocalisation.getString("interface.outilsRotation"));
9600 cbFSBarreClassique = new CheckBox(rbLocalisation.getString("interface.outilsFS"));
9601 Label lblVisibiliteBarreClassique = new Label(rbLocalisation.getString("interface.visibilite"));
9602 lblVisibiliteBarreClassique.setLayoutX(10);
9603 lblVisibiliteBarreClassique.setLayoutY(270);
9604
9605 cbDeplacementsBarreClassique.setLayoutX(100);
9606 cbDeplacementsBarreClassique.setLayoutY(290);
9607 cbDeplacementsBarreClassique.setSelected(true);
9608 cbZoomBarreClassique.setLayoutX(100);
9609 cbZoomBarreClassique.setLayoutY(310);
9610 cbZoomBarreClassique.setSelected(true);
9611 cbOutilsBarreClassique.setLayoutX(100);
9612 cbOutilsBarreClassique.setLayoutY(330);
9613 cbOutilsBarreClassique.setSelected(true);
9614 cbFSBarreClassique.setLayoutX(150);
9615 cbFSBarreClassique.setLayoutY(350);
9616 cbFSBarreClassique.setSelected(true);
9617 cbRotationBarreClassique.setLayoutX(150);
9618 cbRotationBarreClassique.setLayoutY(370);
9619 cbRotationBarreClassique.setSelected(true);
9620 cbSourisBarreClassique.setLayoutX(150);
9621 cbSourisBarreClassique.setLayoutY(390);
9622 cbSourisBarreClassique.setSelected(true);
9624 apBarreClass.disableProperty().bind(cbBarreClassiqueVisible.selectedProperty().not());
9625 apBarreClass.getChildren().addAll(
9636 cbNiveauBarreClassique.disableProperty().bind(cbBarreClassiqueVisible.selectedProperty().not());
9637
9638 apBarreClassique.getChildren().addAll(
9642 );
9643
9644
9645 /*
9646 * ***************************************
9647 * Panel Barre Navigation Personnalisee
9648 * ***************************************
9649 */
9651 PaneOutil poPers = new PaneOutil(rbLocalisation.getString("interface.barreBoutonsPersonalisee"), apBarrePersonnalisee, largeur);
9652 AnchorPane apPERS = new AnchorPane(poPers.getApPaneOutil());
9653 apBarrePersonnalisee.setLayoutY(40);
9654 apBarrePersonnalisee.setPrefHeight(680);
9655 apBarrePersonnalisee.setMinWidth(vbOutils.getPrefWidth() - 20);
9656 cbBarrePersonnaliseeVisible = new CheckBox(rbLocalisation.getString("interface.barrePersonnaliseeVisible"));
9657 cbBarrePersonnaliseeVisible.setLayoutX(20);
9658 cbBarrePersonnaliseeVisible.setLayoutY(10);
9659 cbBarrePersonnaliseeVisible.setSelected(false);
9660 listeNiveau.stream().forEach((nomNiveau) -> {
9662 });
9663 cbNiveauBarrePersonnalisee.getSelectionModel().select(getiCalqueBarrePersonnalisee() - 1);
9664 cbNiveauBarrePersonnalisee.setLayoutX(largeur - 110);
9665 cbNiveauBarrePersonnalisee.setLayoutY(10);
9666 cbNiveauBarrePersonnalisee.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
9667 if (getiNombrePanoramiques() != 0) {
9668 setbDejaSauve(false);
9669 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
9670 }
9673 });
9674
9675 poPers.setbValide(false);
9676 btnEditerBarre = new Button(rbLocalisation.getString("interface.barrePresonnaliseeEditer"));
9677 btnEditerBarre.setLayoutX(300);
9678 btnEditerBarre.setLayoutY(100);
9679 btnEditerBarre.setDisable(true);
9680 Label lblLienBarrePersonnalisee = new Label(rbLocalisation.getString("interface.barrePersonnaliseeLien"));
9681 lblLienBarrePersonnalisee.setLayoutX(20);
9682 lblLienBarrePersonnalisee.setLayoutY(45);
9683 tfLienImageBarrePersonnalisee = new TextField();
9684 tfLienImageBarrePersonnalisee.setLayoutX(100);
9685 tfLienImageBarrePersonnalisee.setLayoutY(40);
9686 tfLienImageBarrePersonnalisee.setPrefWidth(200);
9687 tfLienImageBarrePersonnalisee.setDisable(true);
9689 btnLienBarrePersonnalisee.setLayoutX(310);
9690 btnLienBarrePersonnalisee.setLayoutY(40);
9691
9694 paneImageBarrePersonnalisee.setLayoutX(110);
9695 paneImageBarrePersonnalisee.setLayoutY(70);
9696 paneImageBarrePersonnalisee.setPrefHeight(150);
9697 paneImageBarrePersonnalisee.setPrefWidth(150);
9706
9707 rbTopLeftBarrePersonnalisee.setUserData("top:left");
9708 rbTopCenterBarrePersonnalisee.setUserData("top:center");
9709 rbTopRightBarrePersonnalisee.setUserData("top:right");
9710 rbMiddleLeftBarrePersonnalisee.setUserData("middle:left");
9711 rbMiddleRightBarrePersonnalisee.setUserData("middle:right");
9712 rbBottomLeftBarrePersonnalisee.setUserData("bottom:left");
9713 rbBottomCenterBarrePersonnalisee.setUserData("bottom:center");
9714 rbBottomRightBarrePersonnalisee.setUserData("bottom:right");
9715
9724
9725 int iPos1X = 250;
9726 int iPos1Y = 240;
9727
9729 rbTopCenterBarrePersonnalisee.setLayoutX(iPos1X + 20);
9730 rbTopRightBarrePersonnalisee.setLayoutX(iPos1X + 40);
9734
9736 rbMiddleRightBarrePersonnalisee.setLayoutX(iPos1X + 40);
9737 rbMiddleLeftBarrePersonnalisee.setLayoutY(iPos1Y + 20);
9738 rbMiddleRightBarrePersonnalisee.setLayoutY(iPos1Y + 20);
9739
9742 rbBottomRightBarrePersonnalisee.setLayoutX(iPos1X + 40);
9743 rbBottomLeftBarrePersonnalisee.setLayoutY(iPos1Y + 40);
9745 rbBottomRightBarrePersonnalisee.setLayoutY(iPos1Y + 40);
9746 rbBottomRightBarrePersonnalisee.setSelected(true);
9747 Label lblPositionBarrePersonnalisee = new Label(rbLocalisation.getString("interface.position"));
9748 lblPositionBarrePersonnalisee.setLayoutX(20);
9749 lblPositionBarrePersonnalisee.setLayoutY(250);
9750
9752 lblOffsetXBarrePersonnalisee.setLayoutX(25);
9753 lblOffsetXBarrePersonnalisee.setLayoutY(315);
9755 lblOffsetYBarrePersonnalisee.setLayoutX(175);
9756 lblOffsetYBarrePersonnalisee.setLayoutY(315);
9758 bdfOffsetXBarrePersonnalisee.setLayoutX(50);
9759 bdfOffsetXBarrePersonnalisee.setLayoutY(310);
9762 bdfOffsetXBarrePersonnalisee.setMaxWidth(100);
9764 bdfOffsetYBarrePersonnalisee.setLayoutX(200);
9765 bdfOffsetYBarrePersonnalisee.setLayoutY(310);
9768 bdfOffsetYBarrePersonnalisee.setMaxWidth(100);
9769 Label lblTailleBarrePersonnalisee = new Label(rbLocalisation.getString("interface.barrePersonnaliseeTaille"));
9770 lblTailleBarrePersonnalisee.setLayoutX(20);
9771 lblTailleBarrePersonnalisee.setLayoutY(350);
9773 sltailleBarrePersonnalisee.setLayoutX(150);
9774 sltailleBarrePersonnalisee.setLayoutY(350);
9775
9776 Label lblTailleBarrePersonnaliseeIcones = new Label(rbLocalisation.getString("interface.barrePersonnaliseeTailleIcones"));
9777 lblTailleBarrePersonnaliseeIcones.setLayoutX(20);
9778 lblTailleBarrePersonnaliseeIcones.setLayoutY(380);
9780 sltailleIconesBarrePersonnalisee.setLayoutX(150);
9781 sltailleIconesBarrePersonnalisee.setLayoutY(380);
9782
9783 Label lblOpaciteBarrePersonnalisee = new Label(rbLocalisation.getString("interface.barrePersonnaliseeOpacite"));
9784 lblOpaciteBarrePersonnalisee.setLayoutX(20);
9785 lblOpaciteBarrePersonnalisee.setLayoutY(410);
9787 slOpaciteBarrePersonnalisee.setLayoutX(150);
9788 slOpaciteBarrePersonnalisee.setLayoutY(410);
9789
9790 rbCouleurOrigineBarrePersonnalisee = new RadioButton(rbLocalisation.getString("interface.barrePersonnaliseeCouleurOrigine"));
9792 rbCouleurOrigineBarrePersonnalisee.setLayoutY(440);
9793 rbCouleurOrigineBarrePersonnalisee.setSelected(true);
9795 rbCouleurOrigineBarrePersonnalisee.setUserData(true);
9796
9797 rbCouleurPersBarrePersonnalisee = new RadioButton(rbLocalisation.getString("interface.barrePersonnaliseeCouleurPersonnalisee"));
9798 rbCouleurPersBarrePersonnalisee.setLayoutX(20);
9799 rbCouleurPersBarrePersonnalisee.setLayoutY(470);
9801 rbCouleurPersBarrePersonnalisee.setUserData(false);
9802
9804 cpCouleurBarrePersonnalisee.setLayoutX(180);
9805 cpCouleurBarrePersonnalisee.setLayoutY(465);
9806 cpCouleurBarrePersonnalisee.setDisable(true);
9807 cbDeplacementsBarrePersonnalisee = new CheckBox(rbLocalisation.getString("interface.deplacementsVisible"));
9808 cbZoomBarrePersonnalisee = new CheckBox(rbLocalisation.getString("interface.zoomVisible"));
9809 cbSourisBarrePersonnalisee = new CheckBox(rbLocalisation.getString("interface.outilsSouris"));
9810 cbRotationBarrePersonnalisee = new CheckBox(rbLocalisation.getString("interface.outilsRotation"));
9811 cbFSBarrePersonnalisee = new CheckBox(rbLocalisation.getString("interface.outilsFS"));
9812 Label lblVisibiliteBarrePersonnalisee = new Label(rbLocalisation.getString("interface.visibilite"));
9813 lblVisibiliteBarrePersonnalisee.setLayoutX(20);
9814 lblVisibiliteBarrePersonnalisee.setLayoutY(510);
9815
9816 cbDeplacementsBarrePersonnalisee.setLayoutX(100);
9817 cbDeplacementsBarrePersonnalisee.setLayoutY(530);
9818 cbDeplacementsBarrePersonnalisee.setSelected(true);
9819 cbZoomBarrePersonnalisee.setLayoutX(100);
9820 cbZoomBarrePersonnalisee.setLayoutY(550);
9821 cbZoomBarrePersonnalisee.setSelected(true);
9822 cbFSBarrePersonnalisee.setLayoutX(150);
9823 cbFSBarrePersonnalisee.setLayoutY(590);
9824 cbFSBarrePersonnalisee.setSelected(true);
9825 cbRotationBarrePersonnalisee.setLayoutX(150);
9826 cbRotationBarrePersonnalisee.setLayoutY(610);
9827 cbRotationBarrePersonnalisee.setSelected(true);
9828 cbSourisBarrePersonnalisee.setLayoutX(150);
9829 cbSourisBarrePersonnalisee.setLayoutY(630);
9830 cbSourisBarrePersonnalisee.setSelected(true);
9831 Label lblLien1BarrePersonnalisee = new Label(rbLocalisation.getString("interface.lienBarrePersonalisee") + "1");
9832 lblLien1BarrePersonnalisee.setLayoutX(20);
9833 lblLien1BarrePersonnalisee.setLayoutY(660);
9834 tfLien1BarrePersonnalisee = new TextField("");
9835 tfLien1BarrePersonnalisee.setPrefWidth(200);
9836 tfLien1BarrePersonnalisee.setLayoutX(100);
9837 tfLien1BarrePersonnalisee.setLayoutY(660);
9838 tfLien1BarrePersonnalisee.setDisable(true);
9839 Label lblLien2BarrePersonnalisee = new Label(rbLocalisation.getString("interface.lienBarrePersonalisee") + "2");
9840 lblLien2BarrePersonnalisee.setLayoutX(20);
9841 lblLien2BarrePersonnalisee.setLayoutY(690);
9842 tfLien2BarrePersonnalisee = new TextField("");
9843 tfLien2BarrePersonnalisee.setPrefWidth(200);
9844 tfLien2BarrePersonnalisee.setLayoutX(100);
9845 tfLien2BarrePersonnalisee.setLayoutY(690);
9846 tfLien2BarrePersonnalisee.setDisable(true);
9848 apBarrePers.disableProperty().bind(cbBarrePersonnaliseeVisible.selectedProperty().not());
9849 apBarrePers.getChildren().addAll(
9867 );
9868 cbNiveauBarrePersonnalisee.disableProperty().bind(cbBarrePersonnaliseeVisible.selectedProperty().not());
9869 apBarrePersonnalisee.getChildren().addAll(
9871 );
9872
9873 /*
9874 * ********************************************
9875 * Panel Boussole
9876 * ********************************************
9877 */
9879 PaneOutil poBouss = new PaneOutil(rbLocalisation.getString("interface.boussole"), apBoussole, largeur);
9880 AnchorPane apBOUSS = new AnchorPane(poBouss.getApPaneOutil());
9881
9882 apBoussole.setLayoutY(40);
9883 apBoussole.setMinWidth(vbOutils.getPrefWidth() - 20);
9884 cbAfficheBoussole = new CheckBox(rbLocalisation.getString("interface.affichageBoussole"));
9885 cbAfficheBoussole.setLayoutX(10);
9886 cbAfficheBoussole.setLayoutY(10);
9888 listeNiveau.stream().forEach((nomNiveau) -> {
9889 cbNiveauBoussole.getItems().add(nomNiveau);
9890 });
9891 cbNiveauBoussole.getSelectionModel().select(getiCalqueBoussole() - 1);
9892 cbNiveauBoussole.setLayoutX(largeur - 110);
9893 cbNiveauBoussole.setLayoutY(10);
9894 cbNiveauBoussole.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
9895 if (getiNombrePanoramiques() != 0) {
9896 setbDejaSauve(false);
9897 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
9898 }
9899 setiCalqueBoussole((int) new_val + 1);
9901 });
9902
9903 poBouss.setbValide(false);
9904
9906 Label lblChoixBoussole = new Label(rbLocalisation.getString("interface.choixImgBoussole"));
9907 lblChoixBoussole.setLayoutX(10);
9908 lblChoixBoussole.setLayoutY(40);
9909
9910 apBouss1.getChildren().add(lblChoixBoussole);
9911
9914 i = 0;
9915 int iCol;
9916 int iRow;
9918 Pane paneFond = new Pane();
9919 ivBoussoles[i] = new ImageView(new Image("file:" + strRepertBoussoles + File.separator + strNomImage, -1, 50, true, true, true));
9920 iCol = i % 4;
9921 iRow = i / 4;
9922 xHS = iCol * 60 + 95;
9923 yHS = iRow * 60 + 60;
9924 paneFond.setLayoutX(xHS);
9925 paneFond.setLayoutY(yHS);
9926 paneFond.setPrefHeight(60);
9927 paneFond.setPrefWidth(60);
9928 paneFond.setOpacity(1);
9929 paneFond.setUserData(strNomImage);
9930 paneFond.setStyle("-fx-background-color : rgba(255,255,255,0)");
9931 paneFond.setOnMouseClicked((me) -> {
9932 setStrImageBoussole((String) ((Pane) me.getSource()).getUserData());
9934 });
9935 paneFond.getChildren().add(ivBoussoles[i]);
9936
9937 apBouss1.getChildren().add(paneFond);
9938 i++;
9939
9940 }
9941 yHS += 60;
9942 Label lblPositBoussole = new Label(rbLocalisation.getString("interface.choixPositBoussole"));
9943 lblPositBoussole.setLayoutX(10);
9944 lblPositBoussole.setLayoutY(yHS);
9945 apBouss1.getChildren().add(lblPositBoussole);
9946
9951
9952 rbBoussTopLeft.setUserData("top:left");
9953 rbBoussTopRight.setUserData("top:right");
9954 rbBoussBottomLeft.setUserData("bottom:left");
9955 rbBoussBottomRight.setUserData("bottom:right");
9956
9957 rbBoussTopLeft.setToggleGroup(tgPosBouss);
9958 rbBoussTopRight.setToggleGroup(tgPosBouss);
9959 rbBoussBottomLeft.setToggleGroup(tgPosBouss);
9960 rbBoussBottomRight.setToggleGroup(tgPosBouss);
9961
9962 iPosX = 200;
9963 iPosY = (int) yHS;
9964
9965 rbBoussTopLeft.setLayoutX(iPosX);
9966 rbBoussTopRight.setLayoutX(iPosX + 20);
9967 rbBoussTopLeft.setLayoutY(iPosY);
9968 rbBoussTopRight.setLayoutY(iPosY);
9969
9970 rbBoussBottomLeft.setLayoutX(iPosX);
9971 rbBoussBottomRight.setLayoutX(iPosX + 20);
9972 rbBoussBottomLeft.setLayoutY(iPosY + 20);
9973 rbBoussBottomRight.setLayoutY(iPosY + 20);
9974 apBouss1.getChildren().addAll(
9977 );
9978 Label lblBoussDXSpinner = new Label("dX :");
9979 lblBoussDXSpinner.setLayoutX(25);
9980 lblBoussDXSpinner.setLayoutY(yHS + 50);
9981 Label lblBoussDYSpinner = new Label("dY :");
9982 lblBoussDYSpinner.setLayoutX(175);
9983 lblBoussDYSpinner.setLayoutY(yHS + 50);
9985 bdfOffsetXBoussole.setLayoutX(50);
9986 bdfOffsetXBoussole.setLayoutY(yHS + 45);
9990 bdfOffsetXBoussole.setMaxWidth(100);
9992 bdfOffsetYBoussole.setLayoutX(200);
9993 bdfOffsetYBoussole.setLayoutY(yHS + 45);
9997 bdfOffsetYBoussole.setMaxWidth(100);
9998 apBouss1.getChildren().addAll(lblBoussDXSpinner, bdfOffsetXBoussole,
10000 );
10001 Label lblTailleBouss = new Label(rbLocalisation.getString("interface.tailleBoussole"));
10002 lblTailleBouss.setLayoutX(10);
10003 lblTailleBouss.setLayoutY(yHS + 85);
10004 slTailleBoussole = new Slider(50, 200, 100);
10005 slTailleBoussole.setLayoutX(200);
10006 slTailleBoussole.setLayoutY(yHS + 85);
10007 Label lblOpaciteBouss = new Label(rbLocalisation.getString("interface.opaciteBoussole"));
10008 lblOpaciteBouss.setLayoutX(10);
10009 lblOpaciteBouss.setLayoutY(yHS + 115);
10010 slOpaciteBoussole = new Slider(0, 1.0, 0.8);
10011 slOpaciteBoussole.setLayoutX(200);
10012 slOpaciteBoussole.setLayoutY(yHS + 115);
10013 cbAiguilleMobile = new CheckBox(rbLocalisation.getString("interface.aiguilleMobile"));
10014 cbAiguilleMobile.setLayoutX(10);
10015 cbAiguilleMobile.setLayoutY(yHS + 145);
10016 cbAiguilleMobile.setSelected(true);
10017 apBoussole.setPrefHeight(yHS + 180);
10018
10019 apBouss1.getChildren().addAll(
10023 );
10024 apBouss1.disableProperty().bind(cbAfficheBoussole.selectedProperty().not());
10025 cbNiveauBoussole.disableProperty().bind(cbAfficheBoussole.selectedProperty().not());
10026 apBoussole.getChildren().addAll(apBouss1, cbAfficheBoussole, cbNiveauBoussole);
10027
10028 /*
10029 * ********************************************
10030 * Panel Masque
10031 * ********************************************
10032 */
10034 PaneOutil poMasque = new PaneOutil(rbLocalisation.getString("interface.masque"), apMasque, largeur);
10035 AnchorPane apMASQ = new AnchorPane(poMasque.getApPaneOutil());
10036
10037 apMasque.setLayoutY(40);
10038 apMasque.setPrefHeight(590);
10039 apMasque.setMinWidth(vbOutils.getPrefWidth() - 20);
10040 cbAfficheMasque = new CheckBox(rbLocalisation.getString("interface.affichageMasque"));
10041 cbAfficheMasque.setLayoutX(10);
10042 cbAfficheMasque.setLayoutY(10);
10043 listeNiveau.stream().forEach((nomNiveau) -> {
10044 cbNiveauMasque.getItems().add(nomNiveau);
10045 });
10046 cbNiveauMasque.getSelectionModel().select(getiCalqueMasquage() - 1);
10047 cbNiveauMasque.setLayoutX(largeur - 110);
10048 cbNiveauMasque.setLayoutY(10);
10049 cbNiveauMasque.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
10050 if (getiNombrePanoramiques() != 0) {
10051 setbDejaSauve(false);
10052 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
10053 }
10054 setiCalqueMasquage((int) new_val + 1);
10056 });
10057
10058 poMasque.setbValide(isbAfficheMasque());
10060 Label lblChoixMasque = new Label(rbLocalisation.getString("interface.choixImgMasque"));
10061 lblChoixMasque.setLayoutX(10);
10062 lblChoixMasque.setLayoutY(40);
10063 apMasq1.getChildren().add(lblChoixMasque);
10064
10065 int iNombreMasques = strListeMasques.size();
10067 i = 0;
10069 Pane paneFond = new Pane();
10070 ivMasques[i] = new ImageView(new Image("file:" + strRepertMasques + File.separator + strNomImage, -1, 30, true, true, true));
10071 int iCol1 = i % 4;
10072 int iRow1 = i / 4;
10073 xHS = iCol1 * 35 + 15;
10074 yHS = iRow1 * 35 + 60;
10075 paneFond.setLayoutX(xHS);
10076 paneFond.setLayoutY(yHS);
10077 paneFond.setPrefHeight(30);
10078 paneFond.setPrefWidth(30);
10079 paneFond.setOpacity(1);
10080 paneFond.setUserData(strNomImage);
10081 paneFond.setStyle("-fx-background-color : rgba(255,255,255,0)");
10082 paneFond.setOnMouseClicked((me) -> {
10083 setStrImageMasque((String) ((Pane) me.getSource()).getUserData());
10084 apVisualisation.getChildren().remove(ivMasque);
10086 afficheMasque();
10087 });
10088 paneFond.getChildren().add(ivMasques[i]);
10089 apMasq1.getChildren().add(paneFond);
10090 i++;
10091
10092 }
10094 Label lblCouleurMasque = new Label(rbLocalisation.getString("interface.couleurMasque"));
10095 lblCouleurMasque.setLayoutX(170);
10096 lblCouleurMasque.setLayoutY(40);
10097 cpCouleurMasques.setLayoutX(180);
10098 cpCouleurMasques.setLayoutY(60);
10099 apMasq1.getChildren().addAll(lblCouleurMasque, cpCouleurMasques);
10100
10101 Label lblPositMasque = new Label(rbLocalisation.getString("interface.choixPositMasque"));
10102 lblPositMasque.setLayoutX(10);
10103 int iBasImages = ((i - 1) / 4 + 1) * 35;
10104 lblPositMasque.setLayoutY(70 + iBasImages);
10105 apMasq1.getChildren().add(lblPositMasque);
10106
10111
10112 rbMasqueTopLeft.setUserData("top:left");
10113 rbMasqueTopRight.setUserData("top:right");
10114 rbMasqueBottomLeft.setUserData("bottom:left");
10115 rbMasqueBottomRight.setUserData("bottom:right");
10116
10117 rbMasqueTopLeft.setToggleGroup(tgPosMasque);
10118 rbMasqueTopRight.setToggleGroup(tgPosMasque);
10119 rbMasqueBottomLeft.setToggleGroup(tgPosMasque);
10120 rbMasqueBottomRight.setToggleGroup(tgPosMasque);
10121
10122 iPosX = 200;
10123 iPosY = 70 + iBasImages;
10124
10125 rbMasqueTopLeft.setLayoutX(iPosX);
10126 rbMasqueTopRight.setLayoutX(iPosX + 20);
10127 rbMasqueTopLeft.setLayoutY(iPosY);
10128 rbMasqueTopRight.setLayoutY(iPosY);
10129
10130 rbMasqueBottomLeft.setLayoutX(iPosX);
10131 rbMasqueBottomRight.setLayoutX(iPosX + 20);
10132 rbMasqueBottomLeft.setLayoutY(iPosY + 20);
10133 rbMasqueBottomRight.setLayoutY(iPosY + 20);
10134 apMasq1.getChildren().addAll(
10137 );
10138 Label lblMasqueDXSpinner = new Label("dX :");
10139 lblMasqueDXSpinner.setLayoutX(25);
10140 lblMasqueDXSpinner.setLayoutY(128 + iBasImages);
10141 Label lblMasqueDYSpinner = new Label("dY :");
10142 lblMasqueDYSpinner.setLayoutX(175);
10143 lblMasqueDYSpinner.setLayoutY(128 + iBasImages);
10145 bdfOffsetXMasque.setLayoutX(50);
10146 bdfOffsetXMasque.setLayoutY(123 + iBasImages);
10150 bdfOffsetXMasque.setMaxWidth(100);
10152 bdfOffsetYMasque.setLayoutX(200);
10153 bdfOffsetYMasque.setLayoutY(123 + iBasImages);
10157 bdfOffsetYMasque.setMaxWidth(100);
10158 apMasq1.getChildren().addAll(
10161 );
10162 Label lblTailleMasque = new Label(rbLocalisation.getString("interface.tailleMasque"));
10163 lblTailleMasque.setLayoutX(10);
10164 lblTailleMasque.setLayoutY(160 + iBasImages);
10165 slTailleMasque = new Slider(15, 60, 30);
10166 slTailleMasque.setLayoutX(200);
10167 slTailleMasque.setLayoutY(160 + iBasImages);
10168 Label lblOpaciteMasque = new Label(rbLocalisation.getString("interface.opaciteMasque"));
10169 lblOpaciteMasque.setLayoutX(10);
10170 lblOpaciteMasque.setLayoutY(190 + iBasImages);
10171 slOpaciteMasque = new Slider(0, 1.0, 0.8);
10172 slOpaciteMasque.setLayoutX(200);
10173 slOpaciteMasque.setLayoutY(190 + iBasImages);
10174 cbMasqueNavigation = new CheckBox(rbLocalisation.getString("interface.masqueNavigation"));
10175 cbMasqueNavigation.setLayoutX(60);
10176 cbMasqueNavigation.setLayoutY(220 + iBasImages);
10177 cbMasqueNavigation.setSelected(true);
10178 cbMasqueBoussole = new CheckBox(rbLocalisation.getString("interface.masqueBoussole"));
10179 cbMasqueBoussole.setLayoutX(60);
10180 cbMasqueBoussole.setLayoutY(250 + iBasImages);
10181 cbMasqueBoussole.setSelected(true);
10182 cbMasqueTitre = new CheckBox(rbLocalisation.getString("interface.masqueTitre"));
10183 cbMasqueTitre.setLayoutX(60);
10184 cbMasqueTitre.setLayoutY(280 + iBasImages);
10185 cbMasqueTitre.setSelected(true);
10186 cbMasquePlan = new CheckBox(rbLocalisation.getString("interface.masquePlan"));
10187 cbMasquePlan.setLayoutX(60);
10188 cbMasquePlan.setLayoutY(310 + iBasImages);
10189 cbMasquePlan.setSelected(true);
10190 cbMasqueReseaux = new CheckBox(rbLocalisation.getString("interface.masqueReseaux"));
10191 cbMasqueReseaux.setLayoutX(60);
10192 cbMasqueReseaux.setLayoutY(340 + iBasImages);
10193 cbMasqueReseaux.setSelected(true);
10194 cbMasqueReseaux.selectedProperty().addListener((ov, old_val, new_val) -> {
10195 if (new_val != null) {
10196 setbMasqueReseaux((boolean) new_val);
10197 }
10198 });
10199 cbMasqueVignettes = new CheckBox(rbLocalisation.getString("interface.masqueVignettes"));
10200 cbMasqueVignettes.setLayoutX(60);
10201 cbMasqueVignettes.setLayoutY(370 + iBasImages);
10202 cbMasqueVignettes.setSelected(true);
10203 cbMasqueCombo = new CheckBox(rbLocalisation.getString("interface.masqueCombo"));
10204 cbMasqueCombo.setLayoutX(60);
10205 cbMasqueCombo.setLayoutY(400 + iBasImages);
10206 cbMasqueCombo.setSelected(true);
10207
10208 cbMasqueSuivPrec = new CheckBox(rbLocalisation.getString("interface.masqueSuivPrec"));
10209 cbMasqueSuivPrec.setLayoutX(60);
10210 cbMasqueSuivPrec.setLayoutY(430 + iBasImages);
10211 cbMasqueSuivPrec.setSelected(true);
10212 cbMasqueHotspots = new CheckBox(rbLocalisation.getString("interface.masqueHotspots"));
10213 cbMasqueHotspots.setLayoutX(60);
10214 cbMasqueHotspots.setLayoutY(460 + iBasImages);
10215 cbMasqueHotspots.setSelected(true);
10216
10217 apMasq1.getChildren().addAll(
10229 );
10230 apMasq1.disableProperty().bind(cbAfficheMasque.selectedProperty().not());
10231 cbNiveauMasque.disableProperty().bind(cbAfficheMasque.selectedProperty().not());
10232 apMasque.getChildren().addAll(apMasq1, cbAfficheMasque, cbNiveauMasque);
10233
10234 /*
10235 * ********************************************
10236 * Panel ReseauxSociaux
10237 * ********************************************
10238 */
10240 PaneOutil poReseaux = new PaneOutil(rbLocalisation.getString("interface.reseauxSociaux"), apReseauxSociaux, largeur);
10241 AnchorPane apRS = new AnchorPane(poReseaux.getApPaneOutil());
10242
10243 apReseauxSociaux.setLayoutY(40);
10244 apReseauxSociaux.setPrefHeight(310);
10245 apReseauxSociaux.setMinWidth(vbOutils.getPrefWidth() - 20);
10247 cbAfficheReseauxSociaux = new CheckBox(rbLocalisation.getString("interface.affichageReseauxSociaux"));
10248 cbAfficheReseauxSociaux.setLayoutX(10);
10249 cbAfficheReseauxSociaux.setLayoutY(10);
10250 listeNiveau.stream().forEach((nomNiveau) -> {
10251 cbNiveauPartage.getItems().add(nomNiveau);
10252 });
10253 cbNiveauPartage.getSelectionModel().select(getiCalquePartage() - 1);
10254 cbNiveauPartage.setLayoutX(largeur - 110);
10255 cbNiveauPartage.setLayoutY(10);
10256 cbNiveauPartage.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
10257 if (getiNombrePanoramiques() != 0) {
10258 setbDejaSauve(false);
10259 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
10260 }
10261 setiCalquePartage((int) new_val + 1);
10263 });
10264
10265 poReseaux.setbValide(isbAfficheReseauxSociaux());
10266 Label lblPositReseauxSociaux = new Label(rbLocalisation.getString("interface.choixPositReseauxSociaux"));
10267 lblPositReseauxSociaux.setLayoutX(10);
10268 iBasImages = -30;
10269 lblPositReseauxSociaux.setLayoutY(70 + iBasImages);
10270 apReseau.getChildren().add(lblPositReseauxSociaux);
10271
10276
10277 rbReseauxSociauxTopLeft.setUserData("top:left");
10278 rbReseauxSociauxTopRight.setUserData("top:right");
10279 rbReseauxSociauxBottomLeft.setUserData("bottom:left");
10280 rbReseauxSociauxBottomRight.setUserData("bottom:right");
10281
10286
10287 iPosX = 200;
10288 iPosY = 70 + iBasImages;
10289
10290 rbReseauxSociauxTopLeft.setLayoutX(iPosX);
10291 rbReseauxSociauxTopRight.setLayoutX(iPosX + 20);
10292 rbReseauxSociauxTopLeft.setLayoutY(iPosY);
10293 rbReseauxSociauxTopRight.setLayoutY(iPosY);
10294
10296 rbReseauxSociauxBottomRight.setLayoutX(iPosX + 20);
10297 rbReseauxSociauxBottomLeft.setLayoutY(iPosY + 20);
10298 rbReseauxSociauxBottomRight.setLayoutY(iPosY + 20);
10299 apReseau.getChildren().addAll(
10302 );
10304 lblReseauxSociauxDXSpinner.setLayoutX(25);
10305 lblReseauxSociauxDXSpinner.setLayoutY(128 + iBasImages);
10307 lblReseauxSociauxDYSpinner.setLayoutX(175);
10308 lblReseauxSociauxDYSpinner.setLayoutY(128 + iBasImages);
10310 bdfOffsetXReseauxSociaux.setLayoutX(50);
10311 bdfOffsetXReseauxSociaux.setLayoutY(123 + iBasImages);
10315 bdfOffsetXReseauxSociaux.setMaxWidth(100);
10317 bdfOffsetYreseauxSociaux.setLayoutX(200);
10318 bdfOffsetYreseauxSociaux.setLayoutY(123 + iBasImages);
10322 bdfOffsetYreseauxSociaux.setMaxWidth(100);
10323 apReseau.getChildren().addAll(
10326 );
10327 Label lblTailleReseauxSociaux = new Label(rbLocalisation.getString("interface.tailleReseauxSociaux"));
10328 lblTailleReseauxSociaux.setLayoutX(10);
10329 lblTailleReseauxSociaux.setLayoutY(160 + iBasImages);
10330 slTailleReseauxSociaux = new Slider(15, 60, 30);
10331 slTailleReseauxSociaux.setLayoutX(200);
10332 slTailleReseauxSociaux.setLayoutY(160 + iBasImages);
10333 Label lblOpaciteReseauxSociaux = new Label(rbLocalisation.getString("interface.opaciteReseauxSociaux"));
10334 lblOpaciteReseauxSociaux.setLayoutX(10);
10335 lblOpaciteReseauxSociaux.setLayoutY(190 + iBasImages);
10336 slOpaciteReseauxSociaux = new Slider(0, 1.0, 0.8);
10337 slOpaciteReseauxSociaux.setLayoutX(200);
10338 slOpaciteReseauxSociaux.setLayoutY(190 + iBasImages);
10339 cbReseauxSociauxTwitter = new CheckBox("Twitter");
10340 cbReseauxSociauxTwitter.setLayoutX(60);
10341 cbReseauxSociauxTwitter.setLayoutY(220 + iBasImages);
10342 cbReseauxSociauxTwitter.setSelected(true);
10343 cbReseauxSociauxMeta = new CheckBox("Meta");
10344 cbReseauxSociauxMeta.setLayoutX(60);
10345 cbReseauxSociauxMeta.setLayoutY(250 + iBasImages);
10346 cbReseauxSociauxMeta.setSelected(true);
10347
10348 cbReseauxSociauxEmail = new CheckBox("Email");
10349 cbReseauxSociauxEmail.setLayoutX(60);
10350 cbReseauxSociauxEmail.setLayoutY(280 + iBasImages);
10351 cbReseauxSociauxEmail.setSelected(true);
10352
10353 apReseau.getChildren().addAll(
10357 );
10358 apReseau.disableProperty().bind(cbAfficheReseauxSociaux.selectedProperty().not());
10359 cbNiveauPartage.disableProperty().bind(cbAfficheReseauxSociaux.selectedProperty().not());
10361
10362 /*
10363 * ********************************************
10364 * Panel Vignettes
10365 * ********************************************
10366 */
10367 apVignettes = new AnchorPane();
10368 PaneOutil poVignettes = new PaneOutil(rbLocalisation.getString("interface.vignettes"), apVignettes, largeur);
10369 AnchorPane apVIG = new AnchorPane(poVignettes.getApPaneOutil());
10371 apVignettes.setLayoutY(40);
10372 apVignettes.setMinWidth(vbOutils.getPrefWidth() - 20);
10373 cbAfficheVignettes = new CheckBox(rbLocalisation.getString("interface.affichageVignettes"));
10374 cbAfficheVignettes.setLayoutX(10);
10376 listeNiveau.stream().forEach((nomNiveau) -> {
10377 cbNiveauVignettes.getItems().add(nomNiveau);
10378 });
10379 cbNiveauVignettes.getSelectionModel().select(getiCalqueVignettes() - 1);
10380 cbNiveauVignettes.setLayoutX(largeur - 110);
10382 cbNiveauVignettes.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
10383 if (getiNombrePanoramiques() != 0) {
10384 setbDejaSauve(false);
10385 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
10386 }
10387 setiCalqueVignettes((int) new_val + 1);
10389 });
10390
10391 poVignettes.setbValide(isbAfficheVignettes());
10392 cbReplieDemarrageVignettes = new CheckBox(rbLocalisation.getString("interface.replie"));
10393 cbReplieDemarrageVignettes.setLayoutX(10);
10394 cbReplieDemarrageVignettes.setLayoutY(40);
10395 cbReplieDemarrageVignettes.setSelected(false);
10397 sepVignettes.setPrefWidth(360);
10398 sepVignettes.setLayoutX(5);
10399 sepVignettes.setLayoutY(70);
10400 apVig1.getChildren().addAll(cbReplieDemarrageVignettes, sepVignettes);
10401 Label lblChoixCouleurFondVignettes = new Label(rbLocalisation.getString("interface.choixCouleurFondVignettes"));
10402 lblChoixCouleurFondVignettes.setLayoutX(10);
10403 lblChoixCouleurFondVignettes.setLayoutY(135);
10405 cpCouleurFondVignettes.setLayoutX(200);
10406 cpCouleurFondVignettes.setLayoutY(133);
10408 Label lblChoixCouleurTexteVignettes = new Label(rbLocalisation.getString("interface.choixCouleurTexteVignettes"));
10409 lblChoixCouleurTexteVignettes.setLayoutX(10);
10410 lblChoixCouleurTexteVignettes.setLayoutY(165);
10412 cpCouleurTexteVignettes.setLayoutX(200);
10413 cpCouleurTexteVignettes.setLayoutY(163);
10415 Label lblPositVignettes = new Label(rbLocalisation.getString("interface.choixPositVignettes"));
10416 lblPositVignettes.setLayoutX(10);
10417 lblPositVignettes.setLayoutY(90);
10418 apVig1.getChildren().add(lblPositVignettes);
10419
10423
10424 rbVignettesLeft.setUserData("left");
10425 rbVignettesRight.setUserData("right");
10426 rbVignettesBottom.setUserData("bottom");
10427
10428 rbVignettesLeft.setToggleGroup(tgPosVignettes);
10429 rbVignettesRight.setToggleGroup(tgPosVignettes);
10430 rbVignettesBottom.setToggleGroup(tgPosVignettes);
10431
10432 iPosX = 200;
10433 iPosY = 90;
10434
10435 rbVignettesLeft.setLayoutX(iPosX);
10436 rbVignettesRight.setLayoutX(iPosX + 40);
10437 rbVignettesLeft.setLayoutY(iPosY);
10438 rbVignettesRight.setLayoutY(iPosY);
10439
10440 rbVignettesBottom.setLayoutX(iPosX + 20);
10441 rbVignettesBottom.setLayoutY(iPosY + 20);
10442 apVig1.getChildren().addAll(
10445 );
10446 Label lblTailleVignettes = new Label(rbLocalisation.getString("interface.tailleVignettes"));
10447 lblTailleVignettes.setLayoutX(10);
10448 lblTailleVignettes.setLayoutY(195);
10449 slTailleVignettes = new Slider(50, 300, 120);
10450 slTailleVignettes.setLayoutX(200);
10451 slTailleVignettes.setLayoutY(195);
10452 Label lblOpaciteVignettes = new Label(rbLocalisation.getString("interface.opaciteVignettes"));
10453 lblOpaciteVignettes.setLayoutX(10);
10454 lblOpaciteVignettes.setLayoutY(225);
10455 slOpaciteVignettes = new Slider(0, 1.0, 0.8);
10456 slOpaciteVignettes.setLayoutX(200);
10457 slOpaciteVignettes.setLayoutY(225);
10458 apVig1.getChildren().addAll(
10461 );
10462 apVignettes.setPrefHeight(255);
10463 apVig1.disableProperty().bind(cbAfficheVignettes.selectedProperty().not());
10464 cbNiveauVignettes.disableProperty().bind(cbAfficheVignettes.selectedProperty().not());
10466
10467 /*
10468 * ********************************************
10469 * Panel ComboMenu
10470 * ********************************************
10471 */
10472 apComboMenu = new AnchorPane();
10473 PaneOutil poComboMenu = new PaneOutil(rbLocalisation.getString("interface.comboMenu"), apComboMenu, largeur);
10474 AnchorPane apCBM = new AnchorPane(poComboMenu.getApPaneOutil());
10475 apComboMenu.setLayoutY(40);
10476 apComboMenu.setMinWidth(vbOutils.getPrefWidth() - 20);
10477 cbAfficheComboMenu = new CheckBox(rbLocalisation.getString("interface.affichageComboMenu"));
10478 cbAfficheComboMenu.setLayoutX(10);
10479 cbAfficheComboMenu.setLayoutY(10);
10480 poComboMenu.setbValide(isbAfficheComboMenu());
10482 cbAfficheComboMenuImages = new CheckBox(rbLocalisation.getString("interface.affichageComboMenuImages"));
10483 cbAfficheComboMenuImages.setLayoutX(10);
10484 cbAfficheComboMenuImages.setLayoutY(40);
10486 listeNiveau.stream().forEach((nomNiveau) -> {
10487 cbNiveauComboMenu.getItems().add(nomNiveau);
10488 });
10489 cbNiveauComboMenu.getSelectionModel().select(getiCalqueMenuPanoramiques() - 1);
10490 cbNiveauComboMenu.setLayoutX(largeur - 110);
10491 cbNiveauComboMenu.setLayoutY(10);
10492 cbNiveauComboMenu.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
10493 if (getiNombrePanoramiques() != 0) {
10494 setbDejaSauve(false);
10495 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
10496 }
10499 });
10500
10501 apCombo1.getChildren().add(cbAfficheComboMenuImages);
10502
10503 Label lblPositComboMenu = new Label(rbLocalisation.getString("interface.choixPositComboMenu"));
10504 lblPositComboMenu.setLayoutX(10);
10505 lblPositComboMenu.setLayoutY(90);
10506 apCombo1.getChildren().add(lblPositComboMenu);
10507
10514
10515 rbComboMenuTopLeft.setUserData("top:left");
10516 rbComboMenuTopCenter.setUserData("top:center");
10517 rbComboMenuTopRight.setUserData("top:right");
10518 rbComboMenuBottomLeft.setUserData("bottom:left");
10519 rbComboMenuBottomCenter.setUserData("bottom:center");
10520 rbComboMenuBottomRight.setUserData("bottom:right");
10521
10522 rbComboMenuTopLeft.setToggleGroup(tgPosComboMenu);
10523 rbComboMenuTopCenter.setToggleGroup(tgPosComboMenu);
10524 rbComboMenuTopRight.setToggleGroup(tgPosComboMenu);
10525 rbComboMenuBottomLeft.setToggleGroup(tgPosComboMenu);
10527 rbComboMenuBottomRight.setToggleGroup(tgPosComboMenu);
10528
10529 iPosX = 200;
10530 iPosY = 70;
10531
10532 rbComboMenuTopLeft.setLayoutX(iPosX);
10533 rbComboMenuTopCenter.setLayoutX(iPosX + 20);
10534 rbComboMenuTopRight.setLayoutX(iPosX + 40);
10535 rbComboMenuTopLeft.setLayoutY(iPosY);
10536 rbComboMenuTopCenter.setLayoutY(iPosY);
10537 rbComboMenuTopRight.setLayoutY(iPosY);
10538
10539 rbComboMenuBottomLeft.setLayoutX(iPosX);
10540 rbComboMenuBottomCenter.setLayoutX(iPosX + 20);
10541 rbComboMenuBottomRight.setLayoutX(iPosX + 40);
10542 rbComboMenuBottomLeft.setLayoutY(iPosY + 40);
10543 rbComboMenuBottomCenter.setLayoutY(iPosY + 40);
10544 rbComboMenuBottomRight.setLayoutY(iPosY + 40);
10545 apCombo1.getChildren().addAll(
10548 );
10549
10550 Label lblOffsetXComboMenu = new Label("dX :");
10551 lblOffsetXComboMenu.setLayoutX(25);
10552 lblOffsetXComboMenu.setLayoutY(148);
10553 Label lblOffsetYComboMenu = new Label("dY :");
10554 lblOffsetYComboMenu.setLayoutX(175);
10555 lblOffsetYComboMenu.setLayoutY(148);
10557 bdfOffsetXComboMenu.setLayoutX(50);
10558 bdfOffsetXComboMenu.setLayoutY(143);
10561 bdfOffsetXComboMenu.setMaxWidth(100);
10563 bdfOffsetYComboMenu.setLayoutX(200);
10564 bdfOffsetYComboMenu.setLayoutY(143);
10567 bdfOffsetYComboMenu.setMaxWidth(100);
10568 apCombo1.getChildren().addAll(
10571 );
10572
10573 apComboMenu.setPrefHeight(235);
10574 apCombo1.disableProperty().bind(cbAfficheComboMenu.selectedProperty().not());
10575 cbNiveauComboMenu.disableProperty().bind(cbAfficheComboMenu.selectedProperty().not());
10577
10578 /*
10579 * ********************************************
10580 * Panel Plan
10581 * ********************************************
10582 */
10583 apPlan = new AnchorPane();
10584 PaneOutil opPlan = new PaneOutil(rbLocalisation.getString("interface.plan"), apPlan, largeur);
10585 AnchorPane apPLAN = new AnchorPane(opPlan.getApPaneOutil());
10586
10587 apPlan.setLayoutY(40);
10588 apPlan.setPrefHeight(390);
10589 apPlan.setMinWidth(vbOutils.getPrefWidth() - 20);
10590 cbAffichePlan = new CheckBox(rbLocalisation.getString("interface.affichagePlan"));
10591 cbAffichePlan.setLayoutX(10);
10592 cbAffichePlan.setLayoutY(10);
10593 listeNiveau.stream().forEach((nomNiveau) -> {
10594 cbNiveauPlan.getItems().add(nomNiveau);
10595 });
10596 cbNiveauPlan.getSelectionModel().select(getiCalquePlan() - 1);
10597 cbNiveauPlan.setLayoutX(largeur - 110);
10598 cbNiveauPlan.setLayoutY(10);
10599 cbNiveauPlan.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
10600 if (getiNombrePanoramiques() != 0) {
10601 setbDejaSauve(false);
10602 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
10603 }
10604 setiCalquePlan((int) new_val + 1);
10606 });
10607
10608 opPlan.setbValide(isbAffichePlan());
10610 cbReplieDemarragePlan = new CheckBox(rbLocalisation.getString("interface.replie"));
10611 cbReplieDemarragePlan.setLayoutX(10);
10612 cbReplieDemarragePlan.setLayoutY(40);
10613 cbReplieDemarragePlan.setSelected(false);
10614 Separator sepPlan = new Separator();
10615 sepPlan.setPrefWidth(360);
10616 sepPlan.setLayoutX(5);
10617 sepPlan.setLayoutY(70);
10618 Label lblLargeurPlan = new Label(rbLocalisation.getString("interface.largeurPlan"));
10619 lblLargeurPlan.setLayoutX(10);
10620 lblLargeurPlan.setLayoutY(90);
10621 slLargeurPlan = new Slider(200, 800, 300);
10622 slLargeurPlan.setLayoutX(200);
10623 slLargeurPlan.setLayoutY(90);
10624 Label lblPositPlan = new Label(rbLocalisation.getString("interface.positionPlan"));
10625 lblPositPlan.setLayoutX(10);
10626 lblPositPlan.setLayoutY(120);
10627 rbPlanLeft = new RadioButton("");
10628 rbPlanLeft.setLayoutX(200);
10629 rbPlanLeft.setLayoutY(120);
10630 rbPlanLeft.setUserData("left");
10631 rbPlanLeft.setToggleGroup(tgPosPlan);
10632 rbPlanRight = new RadioButton("");
10633 rbPlanRight.setLayoutX(230);
10634 rbPlanRight.setLayoutY(120);
10635 rbPlanRight.setUserData("right");
10636 rbPlanRight.setToggleGroup(tgPosPlan);
10637 Label lblCouleurFondPlan = new Label(rbLocalisation.getString("interface.couleurFondPlan"));
10638 lblCouleurFondPlan.setLayoutX(10);
10639 lblCouleurFondPlan.setLayoutY(150);
10641 cpCouleurFondPlan.setLayoutX(200);
10642 cpCouleurFondPlan.setLayoutY(145);
10643 Label lblCouleurTextePlan = new Label(rbLocalisation.getString("interface.couleurTextePlan"));
10644 lblCouleurTextePlan.setLayoutX(10);
10645 lblCouleurTextePlan.setLayoutY(180);
10647 cpCouleurTextePlan.setLayoutX(200);
10648 cpCouleurTextePlan.setLayoutY(175);
10649 Label lblOpacitePlan = new Label(rbLocalisation.getString("interface.opacitePlan"));
10650 lblOpacitePlan.setLayoutX(10);
10651 lblOpacitePlan.setLayoutY(210);
10652 slOpacitePlan = new Slider(0, 1.0, 0.8);
10653 slOpacitePlan.setLayoutX(200);
10654 slOpacitePlan.setLayoutY(210);
10655 cbAfficheRadar = new CheckBox(rbLocalisation.getString("interface.afficheRadar"));
10656 cbAfficheRadar.setLayoutX(10);
10657 cbAfficheRadar.setLayoutY(240);
10658
10659 Label lblTailleRadar = new Label(rbLocalisation.getString("interface.tailleRadar"));
10660 lblTailleRadar.setLayoutX(10);
10661 lblTailleRadar.setLayoutY(270);
10662 slTailleRadar = new Slider(0, 80, getTailleRadar());
10663 slTailleRadar.setLayoutX(200);
10664 slTailleRadar.setLayoutY(270);
10665 Label lblOpaciteRadar = new Label(rbLocalisation.getString("interface.opaciteRadar"));
10666 lblOpaciteRadar.setLayoutX(10);
10667 lblOpaciteRadar.setLayoutY(300);
10668 slOpaciteRadar = new Slider(0, 1, 0.8);
10669 slOpaciteRadar.setLayoutX(200);
10670 slOpaciteRadar.setLayoutY(300);
10671 Label lblCouleurFondRadar = new Label(rbLocalisation.getString("interface.couleurFondRadar"));
10672 lblCouleurFondRadar.setLayoutX(10);
10673 lblCouleurFondRadar.setLayoutY(330);
10675 cpCouleurFondRadar.setLayoutX(200);
10676 cpCouleurFondRadar.setLayoutY(330);
10677 Label lblCouleurLigneRadar = new Label(rbLocalisation.getString("interface.couleurLigneRadar"));
10678 lblCouleurLigneRadar.setLayoutX(10);
10679 lblCouleurLigneRadar.setLayoutY(360);
10681 cpCouleurLigneRadar.setLayoutX(200);
10682 cpCouleurLigneRadar.setLayoutY(360);
10683 apPlan1.disableProperty().bind(cbAffichePlan.selectedProperty().not());
10684 apPlan1.getChildren().addAll(
10696 );
10697 cbNiveauPlan.disableProperty().bind(cbAffichePlan.selectedProperty().not());
10698 apPlan.getChildren().addAll(
10700 );
10701
10702
10703 /*
10704 * ********************************************
10705 * Panel Carte
10706 * ********************************************
10707 */
10708 apCarte = new AnchorPane();
10709 PaneOutil poCarte = new PaneOutil(rbLocalisation.getString("interface.carte"), apCarte, largeur);
10710 AnchorPane apCARTE = new AnchorPane(poCarte.getApPaneOutil());
10711
10712 apCarte.setLayoutY(40);
10713 apCarte.setPrefHeight(620);
10714 apCarte.setMinWidth(vbOutils.getPrefWidth() - 20);
10716 cbAfficheCarte = new CheckBox(rbLocalisation.getString("interface.affichageCarte"));
10717 cbAfficheCarte.setLayoutX(10);
10718 cbAfficheCarte.setLayoutY(10);
10719 listeNiveau.stream().forEach((nomNiveau) -> {
10720 cbNiveauCarte.getItems().add(nomNiveau);
10721 });
10722 cbNiveauCarte.getSelectionModel().select(getiCalqueCarte() - 1);
10723 cbNiveauCarte.setLayoutX(largeur - 110);
10724 cbNiveauCarte.setLayoutY(10);
10725 cbNiveauCarte.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
10726 if (getiNombrePanoramiques() != 0) {
10727 setbDejaSauve(false);
10728 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
10729 }
10730 setiCalqueCarte((int) new_val + 1);
10732 });
10733
10734 poCarte.setbValide(isbAfficheCarte());
10735 cbReplieDemarrageCarte = new CheckBox(rbLocalisation.getString("interface.replie"));
10736 cbReplieDemarrageCarte.setLayoutX(10);
10737 cbReplieDemarrageCarte.setLayoutY(40);
10738 cbReplieDemarrageCarte.setSelected(false);
10740 sepCarte.setPrefWidth(360);
10741 sepCarte.setLayoutX(5);
10742 sepCarte.setLayoutY(70);
10743
10744 Button btnChoixCentreCarte = new Button(rbLocalisation.getString("interface.choixCentreCarte"));
10745 btnChoixCentreCarte.setLayoutX(10);
10746 btnChoixCentreCarte.setLayoutY(90);
10747 btnChoixCentreCarte.setPrefWidth(105);
10748 Button btnRecentreCarte = new Button(rbLocalisation.getString("interface.recentreCarte"));
10749 btnRecentreCarte.setLayoutX(125);
10750 btnRecentreCarte.setLayoutY(90);
10751 btnRecentreCarte.setPrefWidth(105);
10752 Button btnChoixCarte = new Button(rbLocalisation.getString("interface.choixCarte"));
10753 btnChoixCarte.setLayoutX(240);
10754 btnChoixCarte.setLayoutY(90);
10755 btnChoixCarte.setPrefWidth(105);
10756
10757 TextField tfAdresseCarte = new TextField("");
10758 tfAdresseCarte.setLayoutX(10);
10759 tfAdresseCarte.setLayoutY(120);
10760 tfAdresseCarte.setPrefWidth(220);
10761
10762 Button btnRechercheAdresse = new Button(rbLocalisation.getString("interface.chercheAdresse"), new ImageView(new Image("file:" + getStrRepertAppli() + File.separator + "images/loupe.png", -1, 16, true, true)));
10763 btnRechercheAdresse.setLayoutX(240);
10764 btnRechercheAdresse.setLayoutY(120);
10765 Label lblZoomCarte = new Label(rbLocalisation.getString("interface.zoomCarte"));
10766 lblZoomCarte.setLayoutX(10);
10767 lblZoomCarte.setLayoutY(160);
10769 slZoomCarte.setMajorTickUnit(1.d);
10770 slZoomCarte.setMinorTickCount(0);
10771 slZoomCarte.setSnapToTicks(true);
10772 slZoomCarte.setLayoutX(200);
10773 slZoomCarte.setLayoutY(160);
10775 sepCarte2.setPrefWidth(360);
10776 sepCarte2.setLayoutX(5);
10777 sepCarte2.setLayoutY(190);
10778
10779 Label lblLargeurCarte = new Label(rbLocalisation.getString("interface.largeurCarte"));
10780 lblLargeurCarte.setLayoutX(10);
10781 lblLargeurCarte.setLayoutY(210);
10782 slLargeurCarte = new Slider(200, 1200, largeurCarte);
10783 slLargeurCarte.setLayoutX(200);
10784 slLargeurCarte.setLayoutY(210);
10785 Label lblHauteurCarte = new Label(rbLocalisation.getString("interface.hauteurCarte"));
10786 lblHauteurCarte.setLayoutX(10);
10787 lblHauteurCarte.setLayoutY(240);
10788 slHauteurCarte = new Slider(200, 1200, getHauteurCarte());
10789 slHauteurCarte.setLayoutX(200);
10790 slHauteurCarte.setLayoutY(240);
10791 Label lblPositCarte = new Label(rbLocalisation.getString("interface.positionCarte"));
10792 lblPositCarte.setLayoutX(10);
10793 lblPositCarte.setLayoutY(270);
10794 rbCarteLeft = new RadioButton("");
10795 rbCarteLeft.setLayoutX(200);
10796 rbCarteLeft.setLayoutY(270);
10797 rbCarteLeft.setUserData("left");
10798 rbCarteLeft.setSelected(getStrPositionCarte().equals("left"));
10799 rbCarteLeft.setToggleGroup(tgPosCarte);
10800 rbCarteRight = new RadioButton("");
10801 rbCarteRight.setLayoutX(230);
10802 rbCarteRight.setLayoutY(270);
10803 rbCarteRight.setUserData("right");
10804 rbCarteRight.setSelected(getStrPositionCarte().equals("right"));
10805 rbCarteRight.setToggleGroup(tgPosCarte);
10806 Label lblCouleurFondCarte = new Label(rbLocalisation.getString("interface.couleurFondCarte"));
10807 lblCouleurFondCarte.setLayoutX(10);
10808 lblCouleurFondCarte.setLayoutY(300);
10810 cpCouleurFondCarte.setLayoutX(200);
10811 cpCouleurFondCarte.setLayoutY(295);
10812 Label lblCouleurTexteCarte = new Label(rbLocalisation.getString("interface.couleurTexteCarte"));
10813 lblCouleurTexteCarte.setLayoutX(10);
10814 lblCouleurTexteCarte.setLayoutY(330);
10816 cpCouleurTexteCarte.setLayoutX(200);
10817 cpCouleurTexteCarte.setLayoutY(325);
10818 Label lblOpaciteCarte = new Label(rbLocalisation.getString("interface.opaciteCarte"));
10819 lblOpaciteCarte.setLayoutX(10);
10820 lblOpaciteCarte.setLayoutY(360);
10821 slOpaciteCarte = new Slider(0, 1.0, 0.8);
10822 slOpaciteCarte.setLayoutX(200);
10823 slOpaciteCarte.setLayoutY(360);
10825 sepCarte3.setPrefWidth(360);
10826 sepCarte3.setLayoutX(5);
10827 sepCarte3.setLayoutY(390);
10828
10829 cbAfficheRadarCarte = new CheckBox(rbLocalisation.getString("interface.afficheRadarCarte"));
10830 cbAfficheRadarCarte.setLayoutX(10);
10831 cbAfficheRadarCarte.setLayoutY(410);
10832
10833 Label lblTailleRadarCarte = new Label(rbLocalisation.getString("interface.tailleRadarCarte"));
10834 lblTailleRadarCarte.setLayoutX(10);
10835 lblTailleRadarCarte.setLayoutY(440);
10836 slTailleRadarCarte = new Slider(0, 240, getTailleRadarCarte()); // Max 240m (x3 par rapport à 80m)
10837 slTailleRadarCarte.setLayoutX(200);
10838 slTailleRadarCarte.setLayoutY(440);
10839 Label lblOpaciteRadarCarte = new Label(rbLocalisation.getString("interface.opaciteRadarCarte"));
10840 lblOpaciteRadarCarte.setLayoutX(10);
10841 lblOpaciteRadarCarte.setLayoutY(470);
10842 slOpaciteRadarCarte = new Slider(0, 1, 0.8);
10843 slOpaciteRadarCarte.setLayoutX(200);
10844 slOpaciteRadarCarte.setLayoutY(470);
10845 Label lblCouleurFondRadarCarte = new Label(rbLocalisation.getString("interface.couleurFondRadarCarte"));
10846 lblCouleurFondRadarCarte.setLayoutX(10);
10847 lblCouleurFondRadarCarte.setLayoutY(500);
10849 cpCouleurFondRadarCarte.setLayoutX(200);
10850 cpCouleurFondRadarCarte.setLayoutY(500);
10851 Label lblCouleurLigneRadarCarte = new Label(rbLocalisation.getString("interface.couleurLigneRadarCarte"));
10852 lblCouleurLigneRadarCarte.setLayoutX(10);
10853 lblCouleurLigneRadarCarte.setLayoutY(530);
10855 cpCouleurLigneRadarCarte.setLayoutX(200);
10856 cpCouleurLigneRadarCarte.setLayoutY(530);
10857 Label lblAngleRadarCarte = new Label("Angle Radar");
10858 lblAngleRadarCarte.setLayoutX(10);
10859 lblAngleRadarCarte.setLayoutY(560);
10860 Slider slAngleRadarCarte = new Slider(0, 720, 45);
10861 slAngleRadarCarte.setLayoutX(200);
10862 slAngleRadarCarte.setLayoutY(560);
10863 Label lblOuvertureRadarCarte = new Label("Angle Radar");
10864 lblOuvertureRadarCarte.setLayoutX(10);
10865 lblOuvertureRadarCarte.setLayoutY(590);
10866 Slider slOuvertureRadarCarte = new Slider(0, 100, 35);
10867 slOuvertureRadarCarte.setLayoutX(200);
10868 slOuvertureRadarCarte.setLayoutY(590);
10869 apCarte1.disableProperty().bind(cbAfficheCarte.selectedProperty().not());
10870 apCarte1.getChildren().addAll(
10875 sepCarte2,
10882 sepCarte3,
10890 );
10891 cbNiveauCarte.disableProperty().bind(cbAfficheCarte.selectedProperty().not());
10892 apCarte.getChildren().addAll(
10894 );
10895
10896
10897 /*
10898 * ********************************************
10899 * Panel Image Fond
10900 * ********************************************
10901 */
10902 apImageFond = new AnchorPane();
10903 poImageFond = new PaneOutil(rbLocalisation.getString("interface.imageFond"), apImageFond, largeur);
10905 apIF.setPrefHeight(250);
10906 poImageFond.setbValide(false);
10907 apImageFond.setLayoutY(40);
10908 apImageFond.setPrefHeight(120);
10909 apImageFond.setMinWidth(vbOutils.getPrefWidth() - 20);
10910 apImageFond.getChildren().addAll();
10911 Image imgAjoute = new Image("file:" + getStrRepertAppli() + File.separator + "images/ajoute.png", 30, 30, true, true);
10912 Button btnAjouteImage = new Button(rbLocalisation.getString("interface.imageFondAjoute"), new ImageView(imgAjoute));
10913 btnAjouteImage.setLayoutX(10);
10914 btnAjouteImage.setLayoutY(10);
10915 apImageFond.getChildren().addAll(btnAjouteImage);
10916 btnAjouteImage.setOnMouseClicked(
10917 (me) -> {
10919 }
10920 );
10921 apImageFond.setPrefHeight(120);
10922 apImageFond.prefHeightProperty().addListener((ov, old_val, new_val) -> {
10923 apIF.setPrefHeight(apImageFond.getPrefHeight() + 250);
10924 });
10925
10926 /*
10927 * ********************************************
10928 * Panel Menu contextuel
10929 * ********************************************
10930 */
10932 PaneOutil poMenuContextuel = new PaneOutil(rbLocalisation.getString("interface.menuContextuel"), apMenuContextuel, largeur);
10933 AnchorPane apMC = new AnchorPane(poMenuContextuel.getApPaneOutil());
10934
10935 apMenuContextuel.setLayoutY(40);
10936 apMenuContextuel.setPrefHeight(280);
10937 apMenuContextuel.setMinWidth(vbOutils.getPrefWidth() - 20);
10939 cbAfficheMenuContextuel = new CheckBox(rbLocalisation.getString("interface.affichageMenuContextuel"));
10940 cbAfficheMenuContextuel.setLayoutX(10);
10941 cbAfficheMenuContextuel.setLayoutY(10);
10944 cbAffichePrecSuivMC = new CheckBox(rbLocalisation.getString("interface.menuContextuelSuivPrec"));
10945 cbAffichePrecSuivMC.setLayoutX(10);
10946 cbAffichePrecSuivMC.setLayoutY(40);
10948 cbAffichePlanetNormalMC = new CheckBox(rbLocalisation.getString("interface.menuContextuelPlaneteNormal"));
10949 cbAffichePlanetNormalMC.setLayoutX(10);
10950 cbAffichePlanetNormalMC.setLayoutY(70);
10952 cbAffichePersMC1 = new CheckBox(rbLocalisation.getString("interface.menuContextuelPers1"));
10953 cbAffichePersMC1.setLayoutX(10);
10954 cbAffichePersMC1.setLayoutY(100);
10955 cbAffichePersMC1.setSelected(isbAffichePersMC1());
10956 Label lblPersLib1 = new Label(rbLocalisation.getString("interface.menuContextuelLib"));
10957 lblPersLib1.setLayoutX(10);
10958 lblPersLib1.setLayoutY(130);
10959 lblPersLib1.setDisable(true);
10960 tfPersLib1 = new TextField();
10961 tfPersLib1.setLayoutX(120);
10962 tfPersLib1.setLayoutY(130);
10963 tfPersLib1.setPrefSize(220, 20);
10964 tfPersLib1.setDisable(true);
10965 Label lblPersUrl1 = new Label(rbLocalisation.getString("interface.menuContextuelURL"));
10966 lblPersUrl1.setLayoutX(10);
10967 lblPersUrl1.setLayoutY(160);
10968 lblPersUrl1.setDisable(true);
10969 tfPersURL1 = new TextField();
10970 tfPersURL1.setLayoutX(120);
10971 tfPersURL1.setLayoutY(160);
10972 tfPersURL1.setPrefSize(220, 20);
10973 tfPersURL1.setDisable(true);
10974 cbAffichePersMC2 = new CheckBox(rbLocalisation.getString("interface.menuContextuelPers2"));
10975 cbAffichePersMC2.setLayoutX(10);
10976 cbAffichePersMC2.setLayoutY(190);
10977 cbAffichePersMC2.setDisable(true);
10978 Label lblPersLib2 = new Label(rbLocalisation.getString("interface.menuContextuelLib"));
10979 lblPersLib2.setLayoutX(10);
10980 lblPersLib2.setLayoutY(220);
10981 lblPersLib2.setDisable(true);
10982 tfPersLib2 = new TextField();
10983 tfPersLib2.setLayoutX(120);
10984 tfPersLib2.setLayoutY(220);
10985 tfPersLib2.setPrefSize(220, 20);
10986 tfPersLib2.setDisable(true);
10987 Label lblPersUrl2 = new Label(rbLocalisation.getString("interface.menuContextuelURL"));
10988 lblPersUrl2.setLayoutX(10);
10989 lblPersUrl2.setLayoutY(250);
10990 lblPersUrl2.setDisable(true);
10991 tfPersURL2 = new TextField();
10992 tfPersURL2.setLayoutX(120);
10993 tfPersURL2.setLayoutY(250);
10994 tfPersURL2.setPrefSize(220, 20);
10995 tfPersURL2.setDisable(true);
10996 apContext1.disableProperty().bind(cbAfficheMenuContextuel.selectedProperty().not());
10997 apContext1.getChildren().addAll(
11006 );
11007 apMenuContextuel.getChildren().addAll(
11009 );
11010
11011 /*
11012 * ********************************************
11013 * Panel BoutonVisiteAuto
11014 * ********************************************
11015 */
11017 PaneOutil poBoutonVisiteAuto = new PaneOutil(rbLocalisation.getString("interface.boutonVisiteAuto"), apBoutonVisiteAuto, largeur);
11018 setApBtnVA(new AnchorPane(poBoutonVisiteAuto.getApPaneOutil()));
11019 getApBtnVA().setDisable(true);
11020 apBoutonVisiteAuto.setLayoutY(40);
11021 apBoutonVisiteAuto.setMinWidth(vbOutils.getPrefWidth() - 20);
11022 setCbAfficheBoutonVisiteAuto(new CheckBox(rbLocalisation.getString("interface.affichageBoutonVisiteAuto")));
11023 getCbAfficheBoutonVisiteAuto().setLayoutX(10);
11024 getCbAfficheBoutonVisiteAuto().setLayoutY(10);
11025 listeNiveau.stream().forEach((nomNiveau) -> {
11026 cbNiveauVisiteAuto.getItems().add(nomNiveau);
11027 });
11028 cbNiveauVisiteAuto.getSelectionModel().select(getiCalqueVisiteAuto() - 1);
11029 cbNiveauVisiteAuto.setLayoutX(largeur - 110);
11030 cbNiveauVisiteAuto.setLayoutY(10);
11031 cbNiveauVisiteAuto.getSelectionModel().selectedIndexProperty().addListener((ov, old_val, new_val) -> {
11032 if (getiNombrePanoramiques() != 0) {
11033 setbDejaSauve(false);
11034 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11035 }
11036
11037 setiCalqueVisiteAuto((int) new_val + 1);
11039 });
11040
11043
11044 Label lblTailleBoutonVisiteAuto = new Label(rbLocalisation.getString("interface.choixTailleBoutonVisiteAuto"));
11045 lblTailleBoutonVisiteAuto.setLayoutX(10);
11046 lblTailleBoutonVisiteAuto.setLayoutY(40);
11047 slTailleBoutonVisiteAuto = new Slider(10, 128, 32);
11048 slTailleBoutonVisiteAuto.setLayoutX(150);
11049 slTailleBoutonVisiteAuto.setLayoutY(40);
11050 Label lblPositBoutonVisiteAuto = new Label(rbLocalisation.getString("interface.choixPositBoutonVisiteAuto"));
11051 lblPositBoutonVisiteAuto.setLayoutX(10);
11052 lblPositBoutonVisiteAuto.setLayoutY(90);
11053
11060
11061 rbBoutonVisiteAutoTopLeft.setUserData("top:left");
11062 rbBoutonVisiteAutoTopCenter.setUserData("top:center");
11063 rbBoutonVisiteAutoTopRight.setUserData("top:right");
11064 rbBoutonVisiteAutoBottomLeft.setUserData("bottom:left");
11065 rbBoutonVisiteAutoBottomCenter.setUserData("bottom:center");
11066 rbBoutonVisiteAutoBottomRight.setUserData("bottom:right");
11067
11074 rbBoutonVisiteAutoTopRight.setSelected(true);
11075
11076 iPosX = 200;
11077 iPosY = 70;
11078
11079 rbBoutonVisiteAutoTopLeft.setLayoutX(iPosX);
11080 rbBoutonVisiteAutoTopCenter.setLayoutX(iPosX + 20);
11081 rbBoutonVisiteAutoTopRight.setLayoutX(iPosX + 40);
11082 rbBoutonVisiteAutoTopLeft.setLayoutY(iPosY);
11085
11087 rbBoutonVisiteAutoBottomCenter.setLayoutX(iPosX + 20);
11088 rbBoutonVisiteAutoBottomRight.setLayoutX(iPosX + 40);
11089 rbBoutonVisiteAutoBottomLeft.setLayoutY(iPosY + 40);
11090 rbBoutonVisiteAutoBottomCenter.setLayoutY(iPosY + 40);
11091 rbBoutonVisiteAutoBottomRight.setLayoutY(iPosY + 40);
11092
11094 lblOffsetXBoutonVisiteAuto.setLayoutX(25);
11095 lblOffsetXBoutonVisiteAuto.setLayoutY(148);
11097 lblOffsetYBoutonVisiteAuto.setLayoutX(175);
11098 lblOffsetYBoutonVisiteAuto.setLayoutY(148);
11100 bdfOffsetXBoutonVisiteAuto.setLayoutX(50);
11101 bdfOffsetXBoutonVisiteAuto.setLayoutY(143);
11104 bdfOffsetXBoutonVisiteAuto.setMaxWidth(100);
11106 bdfOffsetYBoutonVisiteAuto.setLayoutX(200);
11107 bdfOffsetYBoutonVisiteAuto.setLayoutY(143);
11110 bdfOffsetYBoutonVisiteAuto.setMaxWidth(100);
11111 apBtnVisiteAuto1.getChildren().addAll(
11118 );
11119
11120 apBoutonVisiteAuto.setPrefHeight(235);
11124
11125 /*
11126 * ******************************************************
11127 * Ajouts des pannels dans la barre d'outils
11128 * ******************************************************
11129 */
11130 if (!isbInternet()) {
11131 apCARTE.setDisable(true);
11132 }
11133 vbOutils.getChildren().addAll(apTHEME,
11134 apIB,
11135 apHS1,
11136 apHS2,
11137 apHS3,
11138 apTIT,
11139 apDESC,
11140 getApBtnVA(),
11141 apECR1,
11142 apECR2,
11143 apCLASS,
11144 apPERS,
11145 apPLAN,
11146 apCARTE,
11147 apBOUSS,
11148 apMASQ,
11149 apRS,
11150 apVIG,
11151 apCBM,
11152 apMC,
11153 apIF
11154 );
11155
11156 /*
11157 * *******************************************************
11158 * Ajout des ecouteurs sur les différents éléments
11159 * ******************************************************
11160 */
11161 tgImage.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
11162 if (tgImage.getSelectedToggle() != null) {
11163 cbImage.setDisable(true);
11164 Rectangle2D viewportRect;
11165 switch (tgImage.getSelectedToggle().getUserData().toString()) {
11166 case "claire":
11167 viewportRect = new Rectangle2D(0, 0, imgClaire.getWidth(), imgClaire.getHeight());
11168 ivVisualisation.setViewport(viewportRect);
11169 ivVisualisation.setImage(imgClaire);
11170 break;
11171 case "sombre":
11172 viewportRect = new Rectangle2D(0, 0, imgSombre.getWidth(), imgSombre.getHeight());
11173 ivVisualisation.setViewport(viewportRect);
11174 ivVisualisation.setImage(imgSombre);
11175 break;
11176 case "perso":
11177 cbImage.setDisable(false);
11178 int index = cbImage.getSelectionModel().getSelectedIndex();
11179 if (index != -1) {
11180 afficheImage(index);
11181 }
11182 break;
11183 }
11184 }
11186 });
11187
11188 cbImage.valueProperty().addListener((ov, t, t1) -> {
11189 int index = cbImage.getSelectionModel().getSelectedIndex();
11190 if (index != -1) {
11192 }
11193 });
11194
11195 /*
11196 Listeners Couleur Thème
11197 */
11198 cpCouleurFondTheme.valueProperty().addListener((ov, av, nv) -> {
11199 if (getiNombrePanoramiques() != 0) {
11200 setbDejaSauve(false);
11201 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11202 }
11214 });
11215
11216 cpCouleurTexteTheme.valueProperty().addListener((ov, av, nv) -> {
11217 cpCouleurTitre.setValue(cpCouleurTexteTheme.getValue());
11218 cpCouleurTextePlan.setValue(cpCouleurTexteTheme.getValue());
11219 cpCouleurTexteCarte.setValue(cpCouleurTexteTheme.getValue());
11220 cpCouleurTexteVignettes.setValue(cpCouleurTexteTheme.getValue());
11221 });
11222
11223 slOpaciteTheme.valueProperty().addListener((ov, av, nv) -> {
11224 double opacite = (double) nv;
11225 slOpaciteTitre.setValue(opacite);
11226 slOpaciteCarte.setValue(opacite);
11227 slOpacitePlan.setValue(opacite);
11228 slOpaciteVignettes.setValue(opacite);
11229 slFenetreInfoOpacite.setValue(opacite);
11230 slFenetreAideOpacite.setValue(opacite);
11231 });
11232
11233 cbPoliceTheme.valueProperty().addListener((ov, av, nv) -> {
11234 cbListePolicesTitre.setValue(nv);
11235 });
11236
11237 cbSuivantPrecedent.selectedProperty().addListener((ov, old_val, new_val) -> {
11238 if (getiNombrePanoramiques() != 0) {
11239 setbDejaSauve(false);
11240 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11241 }
11242 setbSuivantPrecedent((boolean) new_val);
11243 if (!new_val) {
11244 cbAffichePrecSuivMC.setSelected(new_val);
11245 }
11248 });
11249
11250 /*
11251 Listeners HotSpots
11252 */
11253 cpCouleurHotspotsPanoramique.valueProperty().addListener((ov, av, nv) -> {
11254 if (getiNombrePanoramiques() != 0) {
11255 setbDejaSauve(false);
11256 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11257 }
11258
11260 changeCouleurHS(couleurHotspots.getHue(), couleurHotspots.getSaturation(), couleurHotspots.getBrightness());
11261
11262 // Retirer l'ancienne ImageView de apVisualisation
11263 apVisualisation.getChildren().remove(ivHotSpotPanoramique);
11264
11265 // Recréer l'ImageView pour apVisualisation avec la nouvelle couleur
11266 if (!strTypeHS.equals("gif")) {
11268 ivHotSpotPanoramique.setSmooth(true);
11269 } else {
11270 ivHotSpotPanoramique = new ImageView(new Image("file:" + strRepertHotSpots + File.separator + strNomfichierHS));
11271 ivHotSpotPanoramique.setSmooth(true);
11272 }
11274 ivHotSpotPanoramique.setPreserveRatio(true);
11275 ivHotSpotPanoramique.setLayoutX(700);
11276 ivHotSpotPanoramique.setLayoutY(260);
11277 apVisualisation.getChildren().add(ivHotSpotPanoramique);
11278
11279 // Recréer la vignette avec la nouvelle couleur
11280 paneVignettePano.getChildren().clear();
11281 if (!strTypeHS.equals("gif")) {
11283 } else {
11284 ivVignettePanoConfig = new ImageView(new Image("file:" + strRepertHotSpots + File.separator + strNomfichierHS));
11285 }
11286 ivVignettePanoConfig.setSmooth(true);
11287 ivVignettePanoConfig.setPreserveRatio(true);
11288 ivVignettePanoConfig.setFitWidth(48); // Taille fixe pour la vignette du panel
11289 paneVignettePano.getChildren().add(ivVignettePanoConfig);
11290
11291 // Réappliquer l'animation
11293
11294 // Mettre à jour les tailles des autres ImageViews
11297 });
11298 cpCouleurHotspotsPhoto.valueProperty().addListener((ov, av, nv) -> {
11299 if (getiNombrePanoramiques() != 0) {
11300 setbDejaSauve(false);
11301 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11302 }
11304 changeCouleurHSPhoto(couleurHotspotsPhoto.getHue(), couleurHotspotsPhoto.getSaturation(), couleurHotspotsPhoto.getBrightness());
11305
11306 // Retirer l'ancienne ImageView de apVisualisation
11307 apVisualisation.getChildren().remove(ivHotSpotImage);
11308
11309 // Recréer l'ImageView pour apVisualisation avec la nouvelle couleur
11310 if (!strTypeHSImage.equals("gif")) {
11312 ivHotSpotImage.setSmooth(true);
11313 } else {
11315 ivHotSpotImage.setSmooth(true);
11316 }
11318 ivHotSpotImage.setPreserveRatio(true);
11319 ivHotSpotImage.setLayoutX(820);
11320 ivHotSpotImage.setLayoutY(260);
11321 apVisualisation.getChildren().add(ivHotSpotImage);
11322
11323 // Recréer la vignette avec la nouvelle couleur
11324 paneVignetteImage.getChildren().clear();
11325 if (!strTypeHSImage.equals("gif")) {
11327 } else {
11329 }
11330 ivVignetteImageConfig.setSmooth(true);
11331 ivVignetteImageConfig.setPreserveRatio(true);
11332 ivVignetteImageConfig.setFitWidth(48); // Taille fixe pour la vignette du panel
11333 paneVignetteImage.getChildren().add(ivVignetteImageConfig);
11334
11335 // Réappliquer l'animation
11337
11338 // Mettre à jour les tailles des autres ImageViews
11341 });
11342
11343 cpCouleurHotspotsHTML.valueProperty().addListener((ov, av, nv) -> {
11344 if (getiNombrePanoramiques() != 0) {
11345 setbDejaSauve(false);
11346 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11347 }
11349 changeCouleurHSHTML(couleurHotspotsHTML.getHue(), couleurHotspotsHTML.getSaturation(), couleurHotspotsHTML.getBrightness());
11350
11351 // Retirer l'ancienne ImageView de apVisualisation
11352 apVisualisation.getChildren().remove(ivHotSpotHTML);
11353
11354 // Recréer l'ImageView pour apVisualisation avec la nouvelle couleur
11355 if (!strTypeHSHTML.equals("gif")) {
11357 ivHotSpotHTML.setSmooth(true);
11358 } else {
11359 ivHotSpotHTML = new ImageView(new Image("file:" + strRepertHotSpotsHTML + File.separator + strNomfichierHSHTML));
11360 ivHotSpotHTML.setSmooth(true);
11361 }
11363 ivHotSpotHTML.setPreserveRatio(true);
11364 ivHotSpotHTML.setLayoutX(940);
11365 ivHotSpotHTML.setLayoutY(260);
11366 apVisualisation.getChildren().add(ivHotSpotHTML);
11367
11368 // Recréer la vignette avec la nouvelle couleur
11369 paneVignetteHTML.getChildren().clear();
11370 if (!strTypeHSHTML.equals("gif")) {
11372 } else {
11374 }
11375 ivVignetteHTMLConfig.setSmooth(true);
11376 ivVignetteHTMLConfig.setPreserveRatio(true);
11377 ivVignetteHTMLConfig.setFitWidth(48); // Taille fixe pour la vignette du panel
11378 paneVignetteHTML.getChildren().add(ivVignetteHTMLConfig);
11379
11380 // Réappliquer l'animation
11382
11383 // Mettre à jour les tailles des autres ImageViews
11386 });
11387 slTailleHotspotsHTML.valueProperty().addListener((ov, av, nv) -> {
11388 if (getiNombrePanoramiques() != 0) {
11389 setbDejaSauve(false);
11390 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11391 }
11396 });
11397 slTailleHotspotsImage.valueProperty().addListener((ov, av, nv) -> {
11398 if (getiNombrePanoramiques() != 0) {
11399 setbDejaSauve(false);
11400 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11401 }
11406 });
11407 slTailleHotspotsPanoramique.valueProperty().addListener((ov, av, nv) -> {
11408 if (getiNombrePanoramiques() != 0) {
11409 setbDejaSauve(false);
11410 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11411 }
11416
11417 });
11418
11419 // Listeners pour les options par défaut des hotspots
11420 cbHotspotsPanoAgrandisDefaut.selectedProperty().addListener((ov, old_val, new_val) -> {
11421 if (getiNombrePanoramiques() != 0) {
11422 setbDejaSauve(false);
11423 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11424 }
11426 });
11427
11428 cbHotspotsPhotoAgrandisDefaut.selectedProperty().addListener((ov, old_val, new_val) -> {
11429 if (getiNombrePanoramiques() != 0) {
11430 setbDejaSauve(false);
11431 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11432 }
11434 });
11435
11436 cbHotspotsHTMLAgrandisDefaut.selectedProperty().addListener((ov, old_val, new_val) -> {
11437 if (getiNombrePanoramiques() != 0) {
11438 setbDejaSauve(false);
11439 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11440 }
11442 });
11443
11444 slTailleHotspotsPanoramique.valueProperty().addListener((ov, old_val, new_val) -> {
11445 setbDejaSauve(false);
11446 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11447 });
11448
11449 /*
11450 Listeners Titre
11451 */
11452 cbListePolicesTitre.valueProperty().addListener((ov, old_val, new_val) -> {
11453 if (new_val != null) {
11454 if (getiNombrePanoramiques() != 0) {
11455 setbDejaSauve(false);
11456 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11457 }
11458 setStrTitrePoliceNom(new_val.toString());
11459 afficheTitre();
11460 }
11461 });
11462 cbAfficheTitre.selectedProperty().addListener((ov, old_val, new_val) -> {
11463 if (getiNombrePanoramiques() != 0) {
11464 setbDejaSauve(false);
11465 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11466 }
11467 poTitre.setbValide(new_val);
11468 setbAfficheTitre((boolean) new_val);
11469 apVisualisation.getChildren().remove(hbbarreBoutons);
11470 apVisualisation.getChildren().remove(ivHotSpotPanoramique);
11471 apVisualisation.getChildren().remove(ivHotSpotImage);
11472 apVisualisation.getChildren().remove(ivHotSpotHTML);
11473 afficheTitre();
11474 });
11475
11476 cbTitreVisite.selectedProperty().addListener((ov, old_val, new_val) -> {
11477 if (getiNombrePanoramiques() != 0) {
11478 setbDejaSauve(false);
11479 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11480 }
11482 afficheTitre();
11483 });
11484 cbTitrePanoramique.selectedProperty().addListener((ov, old_val, new_val) -> {
11485 if (getiNombrePanoramiques() != 0) {
11486 setbDejaSauve(false);
11487 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11488 }
11490 afficheTitre();
11491 });
11492 cbTitreAdapte.selectedProperty().addListener((ov, old_val, new_val) -> {
11493 if (getiNombrePanoramiques() != 0) {
11494 setbDejaSauve(false);
11495 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11496 }
11498 slTailleTitre.setDisable(new_val);
11499 afficheTitre();
11500 });
11502 if (getiNombrePanoramiques() != 0) {
11503 setbDejaSauve(false);
11504 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11505 }
11506 setTitreDecalage(new_value.doubleValue());
11507 afficheTitre();
11508 });
11509
11510 tgPosTitre.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
11511 if (tgPosTitre.getSelectedToggle() != null) {
11512 if (getiNombrePanoramiques() != 0) {
11513 setbDejaSauve(false);
11514 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11515 }
11516 setStrTitrePosition(tgPosTitre.getSelectedToggle().getUserData().toString());
11517 afficheTitre();
11518 }
11519 });
11520
11521 slTaillePoliceTitre.valueProperty().addListener((ov, oldValue, newValue) -> {
11522 if (newValue != null) {
11523 if (getiNombrePanoramiques() != 0) {
11524 setbDejaSauve(false);
11525 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11526 }
11527 double taille = (double) newValue;
11528 setStrTitrePoliceTaille(Integer.toString((int) Math.round(taille)));
11529 afficheTitre();
11530 }
11531 });
11532 slOpaciteTitre.valueProperty().addListener((ov, oldValue, newValue) -> {
11533 if (newValue != null) {
11534 if (getiNombrePanoramiques() != 0) {
11535 setbDejaSauve(false);
11536 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11537 }
11538 setTitreOpacite((double) newValue);
11539 afficheTitre();
11540 }
11541 });
11542
11543 slTailleTitre.valueProperty().addListener((ov, oldValue, newValue) -> {
11544 if (newValue != null) {
11545 if (getiNombrePanoramiques() != 0) {
11546 setbDejaSauve(false);
11547 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11548 }
11549 setTitreTaille((double) newValue);
11550 afficheTitre();
11551 }
11552 });
11553
11554 cpCouleurTitre.valueProperty().addListener((ov, av, nv) -> {
11555 if (getiNombrePanoramiques() != 0) {
11556 setbDejaSauve(false);
11557 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11558 }
11559 String strCoul = cpCouleurTitre.getValue().toString().substring(2, 8);
11561 afficheTitre();
11562 });
11563
11564 cpCouleurFondTitre.valueProperty().addListener((ov, av, nv) -> {
11565 if (getiNombrePanoramiques() != 0) {
11566 setbDejaSauve(false);
11567 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11568 }
11569 String strCouleur = cpCouleurFondTitre.getValue().toString().substring(2, 8);
11571 afficheTitre();
11572 });
11573 /*
11574 Listeners InfoBulle
11575 */
11576 cbOmbreInfoBulle.selectedProperty().addListener((ov, old_val, new_val) -> {
11577 if (getiNombrePanoramiques() != 0) {
11578 setbDejaSauve(false);
11579 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11580 }
11582 });
11583
11584 cpCouleurTextInfoBulle.valueProperty().addListener((ov, av, nv) -> {
11585 if (getiNombrePanoramiques() != 0) {
11586 setbDejaSauve(false);
11587 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11588 }
11589 String strCoul = cpCouleurTextInfoBulle.getValue().toString().substring(2, 8);
11592 });
11593 cpCouleurFondInfoBulle.valueProperty().addListener((ov, av, nv) -> {
11594 if (getiNombrePanoramiques() != 0) {
11595 setbDejaSauve(false);
11596 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11597 }
11598 String strCoul = cpCouleurFondInfoBulle.getValue().toString().substring(2, 8);
11601 });
11602 cpCouleurBordureInfoBulle.valueProperty().addListener((ov, av, nv) -> {
11603 if (getiNombrePanoramiques() != 0) {
11604 setbDejaSauve(false);
11605 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11606 }
11607 String strCoul = cpCouleurBordureInfoBulle.getValue().toString().substring(2, 8);
11610 });
11611
11612 cbListePoliceInfoBulle.valueProperty().addListener((ov, old_val, new_val) -> {
11613 if (new_val != null) {
11614 if (getiNombrePanoramiques() != 0) {
11615 setbDejaSauve(false);
11616 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11617 }
11618 strPoliceInfoBulle = new_val.toString();
11620 }
11621 });
11622 slTaillePoliceInfoBulle.valueProperty().addListener((ov, oldValue, newValue) -> {
11623 if (newValue != null) {
11624 if (getiNombrePanoramiques() != 0) {
11625 setbDejaSauve(false);
11626 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11627 }
11630 }
11631 });
11632 slOpaciteInfoBulle.valueProperty().addListener((ov, oldValue, newValue) -> {
11633 if (newValue != null) {
11634 if (getiNombrePanoramiques() != 0) {
11635 setbDejaSauve(false);
11636 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11637 }
11640 }
11641 });
11642
11644 if (new_value != null) {
11645 if (getiNombrePanoramiques() != 0) {
11646 setbDejaSauve(false);
11647 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11648 }
11649 iTailleBordureTop = new_value.intValue();
11651 }
11652 });
11654 if (new_value != null) {
11655 if (getiNombrePanoramiques() != 0) {
11656 setbDejaSauve(false);
11657 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11658 }
11659 iTailleBordureBottom = new_value.intValue();
11661 }
11662 });
11664 if (new_value != null) {
11665 if (getiNombrePanoramiques() != 0) {
11666 setbDejaSauve(false);
11667 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11668 }
11669 iTailleBordureLeft = new_value.intValue();
11671 }
11672 });
11674 if (new_value != null) {
11675 if (getiNombrePanoramiques() != 0) {
11676 setbDejaSauve(false);
11677 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11678 }
11679 iTailleBordureRight = new_value.intValue();
11681 }
11682 });
11683
11684 bdfArrondiTL.numberProperty().addListener((ov, old_value, new_value) -> {
11685 if (new_value != null) {
11686 if (getiNombrePanoramiques() != 0) {
11687 setbDejaSauve(false);
11688 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11689 }
11690 iArrondiTL = new_value.intValue();
11692 }
11693 });
11694 bdfArrondiBL.numberProperty().addListener((ov, old_value, new_value) -> {
11695 if (new_value != null) {
11696 if (getiNombrePanoramiques() != 0) {
11697 setbDejaSauve(false);
11698 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11699 }
11700 iArrondiBL = new_value.intValue();
11702 }
11703 });
11704 bdfArrondiTR.numberProperty().addListener((ov, old_value, new_value) -> {
11705 if (new_value != null) {
11706 if (getiNombrePanoramiques() != 0) {
11707 setbDejaSauve(false);
11708 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11709 }
11710 iArrondiTR = new_value.intValue();
11712 }
11713 });
11714 bdfArrondiBR.numberProperty().addListener((ov, old_value, new_value) -> {
11715 if (new_value != null) {
11716 if (getiNombrePanoramiques() != 0) {
11717 setbDejaSauve(false);
11718 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11719 }
11720 iArrondiBR = new_value.intValue();
11722 }
11723 });
11724
11725 /*
11726 Listeners Fenêtres
11727 */
11728 cbFenetreInfoPersonnalise.selectedProperty().addListener((ov, old_val, new_val) -> {
11729 if (getiNombrePanoramiques() != 0) {
11730 setbDejaSauve(false);
11731 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11732 }
11737 });
11738
11739 cbFenetreAidePersonnalise.selectedProperty().addListener((ov, old_val, new_val) -> {
11740 if (getiNombrePanoramiques() != 0) {
11741 setbDejaSauve(false);
11742 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11743 }
11748 });
11749
11750 cbAfficheFenetreInfo.selectedProperty().addListener((ov, old_val, new_val) -> {
11751 if (getiNombrePanoramiques() != 0) {
11752 setbDejaSauve(false);
11753 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11754 }
11756 if (new_val == true) {
11757 cbAfficheFenetreAide.setSelected(false);
11758 }
11760 });
11761
11762 cbAfficheFenetreAide.selectedProperty().addListener((ov, old_val, new_val) -> {
11763 if (getiNombrePanoramiques() != 0) {
11764 setbDejaSauve(false);
11765 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11766 }
11768 if (new_val == true) {
11769 cbAfficheFenetreInfo.setSelected(false);
11770 }
11772 });
11773
11774 btnFenetreInfo.setOnMouseClicked((me) -> {
11775 if (getiNombrePanoramiques() != 0) {
11776 setbDejaSauve(false);
11777 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11778 }
11780 if (!strFenetreInfoImage.equals("")) {
11782 }
11784 }
11785 );
11786
11787 btnFenetreAide.setOnMouseClicked((me) -> {
11788 if (getiNombrePanoramiques() != 0) {
11789 setbDejaSauve(false);
11790 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11791 }
11793 if (!strFenetreAideImage.equals("")) {
11795 }
11797 }
11798 );
11799 slFenetreInfoTaille.valueProperty().addListener((ov, oldValue, newValue) -> {
11800 if (getiNombrePanoramiques() != 0) {
11801 setbDejaSauve(false);
11802 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11803 }
11804 if (newValue != null) {
11805 double taille = (double) newValue;
11808 }
11809 });
11810 slFenetreInfoOpacite.valueProperty().addListener((ov, oldValue, newValue) -> {
11811 if (getiNombrePanoramiques() != 0) {
11812 setbDejaSauve(false);
11813 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11814 }
11815 if (newValue != null) {
11816 double opac = (double) newValue;
11819 }
11820 });
11822 if (getiNombrePanoramiques() != 0) {
11823 setbDejaSauve(false);
11824 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11825 }
11826 setFenetreInfoPosX(new_value.doubleValue());
11828 });
11830 if (getiNombrePanoramiques() != 0) {
11831 setbDejaSauve(false);
11832 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11833 }
11834 setFenetreInfoPosY(new_value.doubleValue());
11836 });
11837
11838 tfFenetreURL.textProperty().addListener((ov, oldValue, newValue) -> {
11839 if (getiNombrePanoramiques() != 0) {
11840 setbDejaSauve(false);
11841 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11842 }
11844 });
11845
11846 tfFenetreTexteURL.textProperty().addListener((ov, oldValue, newValue) -> {
11847 if (getiNombrePanoramiques() != 0) {
11848 setbDejaSauve(false);
11849 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11850 }
11853 });
11854
11855 slFenetrePoliceTaille.valueProperty().addListener((ov, oldValue, newValue) -> {
11856 if (newValue != null) {
11857 if (getiNombrePanoramiques() != 0) {
11858 setbDejaSauve(false);
11859 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11860 }
11861 double taille = Math.round((double) newValue * 10.d) / 10.d;
11864 }
11865 });
11866
11867 cpFenetreURLCouleur.setOnAction((e) -> {
11868 if (getiNombrePanoramiques() != 0) {
11869 setbDejaSauve(false);
11870 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11871 }
11872 setStrFenetreURLCouleur("#" + cpFenetreURLCouleur.getValue().toString().substring(2, 8));
11874 });
11875
11877 if (getiNombrePanoramiques() != 0) {
11878 setbDejaSauve(false);
11879 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11880 }
11881 setFenetreURLPosX(new_value.doubleValue());
11883 });
11884
11886 if (getiNombrePanoramiques() != 0) {
11887 setbDejaSauve(false);
11888 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11889 }
11890 setFenetreURLPosY(new_value.doubleValue());
11892 });
11893 slFenetreAideTaille.valueProperty().addListener((ov, oldValue, newValue) -> {
11894 if (newValue != null) {
11895 if (getiNombrePanoramiques() != 0) {
11896 setbDejaSauve(false);
11897 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11898 }
11899 double taille = (double) newValue;
11902 }
11903 });
11904 slFenetreAideOpacite.valueProperty().addListener((ov, oldValue, newValue) -> {
11905 if (newValue != null) {
11906 if (getiNombrePanoramiques() != 0) {
11907 setbDejaSauve(false);
11908 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11909 }
11910 double opac = (double) newValue;
11913 }
11914 });
11915
11917 if (getiNombrePanoramiques() != 0) {
11918 setbDejaSauve(false);
11919 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11920 }
11921 setFenetreAidePosX(new_value.doubleValue());
11923 });
11925 if (getiNombrePanoramiques() != 0) {
11926 setbDejaSauve(false);
11927 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11928 }
11929 setFenetreAidePosY(new_value.doubleValue());
11931 });
11932
11933
11934 /*
11935 Listeners Barre de navigation Classique
11936 */
11937 slEspacementBarreClassique.valueProperty().addListener((ov, oldValue, newValue) -> {
11938 if (getiNombrePanoramiques() != 0) {
11939 setbDejaSauve(false);
11940 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11941 }
11944 });
11945
11946 cblisteStyleBarreClassique.valueProperty().addListener((ov, t, t1) -> {
11947 if (t1 != null) {
11948 if (getiNombrePanoramiques() != 0) {
11949 setbDejaSauve(false);
11950 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11951 }
11952 setStyleBarreClassique(t1.toString());
11954 }
11955 });
11956
11958 if (getiNombrePanoramiques() != 0) {
11959 setbDejaSauve(false);
11960 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11961 }
11962
11963 setOffsetXBarreClassique(new_value.doubleValue());
11965 });
11967 if (getiNombrePanoramiques() != 0) {
11968 setbDejaSauve(false);
11969 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11970 }
11971 setOffsetYBarreClassique(new_value.doubleValue());
11973 });
11974
11975 tgPositionBarreClassique.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
11976 if (tgPositionBarreClassique.getSelectedToggle() != null) {
11977 if (getiNombrePanoramiques() != 0) {
11978 setbDejaSauve(false);
11979 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11980 }
11981 setStrPositionBarreClassique(tgPositionBarreClassique.getSelectedToggle().getUserData().toString());
11983 }
11984 });
11985 cbBarreClassiqueVisible.selectedProperty().addListener((ov, old_val, new_val) -> {
11986 if (getiNombrePanoramiques() != 0) {
11987 setbDejaSauve(false);
11988 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
11989 }
11990 poClass.setbValide(new_val);
11991 if (new_val) {
11993 cbBarrePersonnaliseeVisible.setSelected(false);
11994 } else {
11996 }
11998 });
11999
12000 cpCouleurBarreClassique.valueProperty().addListener((ov, av, nv) -> {
12001 if (getiNombrePanoramiques() != 0) {
12002 setbDejaSauve(false);
12003 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12004 }
12007 });
12008 cbDeplacementsBarreClassique.selectedProperty().addListener((ov, old_val, new_val) -> {
12009 if (getiNombrePanoramiques() != 0) {
12010 setbDejaSauve(false);
12011 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12012 }
12013 if (new_val) {
12015 } else {
12017 }
12019 });
12020 cbZoomBarreClassique.selectedProperty().addListener((ov, old_val, new_val) -> {
12021 if (getiNombrePanoramiques() != 0) {
12022 setbDejaSauve(false);
12023 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12024 }
12025 if (new_val) {
12027 } else {
12029 }
12031 });
12032 cbOutilsBarreClassique.selectedProperty().addListener((ov, old_val, new_val) -> {
12033 if (getiNombrePanoramiques() != 0) {
12034 setbDejaSauve(false);
12035 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12036 }
12037 if (new_val) {
12039 } else {
12041 }
12043 });
12044 cbSourisBarreClassique.selectedProperty().addListener((ov, old_val, new_val) -> {
12045 if (getiNombrePanoramiques() != 0) {
12046 setbDejaSauve(false);
12047 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12048 }
12049 if (new_val) {
12051 } else {
12053 }
12055 });
12056 cbRotationBarreClassique.selectedProperty().addListener((ov, old_val, new_val) -> {
12057 if (getiNombrePanoramiques() != 0) {
12058 setbDejaSauve(false);
12059 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12060 }
12061 if (new_val) {
12063 } else {
12065 }
12067 });
12068 cbFSBarreClassique.selectedProperty().addListener((ov, old_val, new_val) -> {
12069 if (getiNombrePanoramiques() != 0) {
12070 setbDejaSauve(false);
12071 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12072 }
12073 if (new_val) {
12075 } else {
12077 }
12079 });
12080 /*
12081 Listeners Barre de navigation Personnalisee
12082 */
12083
12085 if (getiNombrePanoramiques() != 0) {
12086 setbDejaSauve(false);
12087 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12088 }
12091 });
12093 if (getiNombrePanoramiques() != 0) {
12094 setbDejaSauve(false);
12095 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12096 }
12099 });
12100
12101 grpCouleurBarrePersonnalisee.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
12102 if (grpCouleurBarrePersonnalisee.getSelectedToggle() != null) {
12103 if (getiNombrePanoramiques() != 0) {
12104 setbDejaSauve(false);
12105 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12106 }
12107 setbCouleurOrigineBarrePersonnalisee((boolean) grpCouleurBarrePersonnalisee.getSelectedToggle().getUserData());
12110 }
12111 });
12112
12113 grpPositionBarrePersonnalisee.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
12114 if (grpPositionBarrePersonnalisee.getSelectedToggle() != null) {
12115 if (getiNombrePanoramiques() != 0) {
12116 setbDejaSauve(false);
12117 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12118 }
12119 setStrPositionBarrePersonnalisee(grpPositionBarrePersonnalisee.getSelectedToggle().getUserData().toString());
12121 }
12122 });
12123 cbBarrePersonnaliseeVisible.selectedProperty().addListener((ov, old_val, new_val) -> {
12124 if (getiNombrePanoramiques() != 0) {
12125 setbDejaSauve(false);
12126 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12127 }
12128 poPers.setbValide(new_val);
12129 if (new_val) {
12131 cbBarreClassiqueVisible.setSelected(false);
12132 } else {
12134 }
12136 });
12137 cpCouleurBarrePersonnalisee.valueProperty().addListener((ov, av, nv) -> {
12138 if (getiNombrePanoramiques() != 0) {
12139 setbDejaSauve(false);
12140 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12141 }
12144 });
12145 cbDeplacementsBarrePersonnalisee.selectedProperty().addListener((ov, old_val, new_val) -> {
12146 if (getiNombrePanoramiques() != 0) {
12147 setbDejaSauve(false);
12148 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12149 }
12150 if (new_val) {
12152 } else {
12154 }
12156 });
12157 cbZoomBarrePersonnalisee.selectedProperty().addListener((ov, old_val, new_val) -> {
12158 if (getiNombrePanoramiques() != 0) {
12159 setbDejaSauve(false);
12160 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12161 }
12162 if (new_val) {
12164 } else {
12166 }
12168 });
12169 cbSourisBarrePersonnalisee.selectedProperty().addListener((ov, old_val, new_val) -> {
12170 if (getiNombrePanoramiques() != 0) {
12171 setbDejaSauve(false);
12172 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12173 }
12174 if (new_val) {
12176 } else {
12178 }
12180 });
12181 cbRotationBarrePersonnalisee.selectedProperty().addListener((ov, old_val, new_val) -> {
12182 if (getiNombrePanoramiques() != 0) {
12183 setbDejaSauve(false);
12184 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12185 }
12186 if (new_val) {
12188 } else {
12190 }
12192 });
12193 cbFSBarrePersonnalisee.selectedProperty().addListener((ov, old_val, new_val) -> {
12194 if (getiNombrePanoramiques() != 0) {
12195 setbDejaSauve(false);
12196 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12197 }
12198 if (new_val) {
12200 } else {
12202 }
12204 });
12205 sltailleBarrePersonnalisee.valueProperty().addListener((ov, oldValue, newValue) -> {
12206 if (getiNombrePanoramiques() != 0) {
12207 setbDejaSauve(false);
12208 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12209 }
12210 if (newValue != null) {
12211 double taille = (double) newValue;
12214 }
12215 });
12216 sltailleIconesBarrePersonnalisee.valueProperty().addListener((ov, oldValue, newValue) -> {
12217 if (getiNombrePanoramiques() != 0) {
12218 setbDejaSauve(false);
12219 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12220 }
12221 if (newValue != null) {
12222 double taille = (double) newValue;
12225 }
12226 });
12227 slOpaciteBarrePersonnalisee.valueProperty().addListener((ov, oldValue, newValue) -> {
12228 if (getiNombrePanoramiques() != 0) {
12229 setbDejaSauve(false);
12230 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12231 }
12232 if (newValue != null) {
12233 double opacite = (double) newValue;
12236 }
12237 });
12238 btnLienBarrePersonnalisee.setOnMouseClicked(
12239 (me) -> {
12240 if (getiNombrePanoramiques() != 0) {
12241 setbDejaSauve(false);
12242 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12243 }
12244 try {
12246 } catch (IOException ex) {
12247 Logger.getLogger(GestionnaireInterfaceController.class.getName()).log(Level.SEVERE, null, ex);
12248 }
12249 }
12250 );
12251 btnEditerBarre.setOnMouseClicked(
12252 (me) -> {
12253 if (getiNombrePanoramiques() != 0) {
12254 setbDejaSauve(false);
12255 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12256 }
12257 EditeurPanovisu.creerEditerBarre(tfLienImageBarrePersonnalisee.getText());
12258 }
12259 );
12260 tfLien1BarrePersonnalisee.textProperty().addListener((ov, oldValue, newValue) -> {
12261 if (getiNombrePanoramiques() != 0) {
12262 setbDejaSauve(false);
12263 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12264 }
12266 });
12267 tfLien2BarrePersonnalisee.textProperty().addListener((ov, oldValue, newValue) -> {
12268 if (getiNombrePanoramiques() != 0) {
12269 setbDejaSauve(false);
12270 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12271 }
12273 });
12274
12275
12276 /*
12277 Listeners Boussole
12278 */
12279 tgPosBouss.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
12280 if (getiNombrePanoramiques() != 0) {
12281 setbDejaSauve(false);
12282 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12283 }
12284 if (tgPosBouss.getSelectedToggle() != null) {
12285 setStrPositionBoussole(tgPosBouss.getSelectedToggle().getUserData().toString());
12287 }
12288 });
12290 if (getiNombrePanoramiques() != 0) {
12291 setbDejaSauve(false);
12292 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12293 }
12294 setOffsetXBoussole(new_value.doubleValue());
12296 });
12298 if (getiNombrePanoramiques() != 0) {
12299 setbDejaSauve(false);
12300 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12301 }
12302 setOffsetYBoussole(new_value.doubleValue());
12304 });
12305 slTailleBoussole.valueProperty().addListener((ov, oldValue, newValue) -> {
12306 if (getiNombrePanoramiques() != 0) {
12307 setbDejaSauve(false);
12308 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12309 }
12310 if (newValue != null) {
12311 double taille = (double) newValue;
12314 }
12315 });
12316 cbAfficheBoussole.selectedProperty().addListener((ov, old_val, new_val) -> {
12317 if (getiNombrePanoramiques() != 0) {
12318 setbDejaSauve(false);
12319 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12320 }
12321 if (new_val != null) {
12322 poBouss.setbValide(new_val);
12323 setbAfficheBoussole((boolean) new_val);
12325 }
12326 });
12327 cbAiguilleMobile.selectedProperty().addListener((ov, old_val, new_val) -> {
12328 if (getiNombrePanoramiques() != 0) {
12329 setbDejaSauve(false);
12330 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12331 }
12332 if (new_val != null) {
12334 }
12335 });
12336
12337 /*
12338 Listeners Bouton de Masquage
12339 */
12340 slOpaciteBoussole.valueProperty().addListener((ov, oldValue, newValue) -> {
12341 if (getiNombrePanoramiques() != 0) {
12342 setbDejaSauve(false);
12343 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12344 }
12345 if (newValue != null) {
12346 double opac = (double) newValue;
12349 }
12350 });
12351
12352 tgPosMasque.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
12353 if (getiNombrePanoramiques() != 0) {
12354 setbDejaSauve(false);
12355 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12356 }
12357 if (tgPosMasque.getSelectedToggle() != null) {
12358 setStrPositionMasque(tgPosMasque.getSelectedToggle().getUserData().toString());
12359 apVisualisation.getChildren().remove(ivMasque);
12360 afficheMasque();
12361 }
12362 });
12364 if (getiNombrePanoramiques() != 0) {
12365 setbDejaSauve(false);
12366 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12367 }
12368 setdXMasque(new_value.doubleValue());
12369 afficheMasque();
12370 });
12372 if (getiNombrePanoramiques() != 0) {
12373 setbDejaSauve(false);
12374 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12375 }
12376 setdYMasque(new_value.doubleValue());
12377 afficheMasque();
12378 });
12379 slTailleMasque.valueProperty().addListener((ov, oldValue, newValue) -> {
12380 if (getiNombrePanoramiques() != 0) {
12381 setbDejaSauve(false);
12382 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12383 }
12384 if (newValue != null) {
12385 double taille = (double) newValue;
12387 afficheMasque();
12388 }
12389 });
12390 slOpaciteMasque.valueProperty().addListener((ov, oldValue, newValue) -> {
12391 if (getiNombrePanoramiques() != 0) {
12392 setbDejaSauve(false);
12393 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12394 }
12395 if (newValue != null) {
12396 double opac = (double) newValue;
12398 afficheMasque();
12399 }
12400 });
12401 cbMasqueNavigation.selectedProperty().addListener((ov, old_val, new_val) -> {
12402 if (getiNombrePanoramiques() != 0) {
12403 setbDejaSauve(false);
12404 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12405 }
12406 if (new_val != null) {
12407 setbMasqueNavigation((boolean) new_val);
12408 }
12409 });
12410 cpCouleurMasques.valueProperty().addListener((ov, av, nv) -> {
12411 if (getiNombrePanoramiques() != 0) {
12412 setbDejaSauve(false);
12413 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12414 }
12415 couleurMasque = cpCouleurMasques.getValue();
12416 changeCouleurMasque(couleurMasque.getHue(), couleurMasque.getSaturation(), couleurMasque.getBrightness());
12417 });
12418 cbAfficheMasque.selectedProperty().addListener((ov, old_val, new_val) -> {
12419 if (getiNombrePanoramiques() != 0) {
12420 setbDejaSauve(false);
12421 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12422 }
12423 if (new_val != null) {
12424 poMasque.setbValide(new_val);
12425 setbAfficheMasque((boolean) new_val);
12426 changeCouleurMasque(couleurHotspots.getHue(), couleurHotspots.getSaturation(), couleurHotspots.getBrightness());
12427 afficheMasque();
12428 }
12429 });
12430 cbMasqueBoussole.selectedProperty().addListener((ov, old_val, new_val) -> {
12431 if (getiNombrePanoramiques() != 0) {
12432 setbDejaSauve(false);
12433 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12434 }
12435 if (new_val != null) {
12436 setbMasqueBoussole((boolean) new_val);
12437 }
12438 });
12439 cbMasqueTitre.selectedProperty().addListener((ov, old_val, new_val) -> {
12440 if (getiNombrePanoramiques() != 0) {
12441 setbDejaSauve(false);
12442 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12443 }
12444 if (new_val != null) {
12445 setbMasqueTitre((boolean) new_val);
12446 }
12447 });
12448 cbMasquePlan.selectedProperty().addListener((ov, old_val, new_val) -> {
12449 if (getiNombrePanoramiques() != 0) {
12450 setbDejaSauve(false);
12451 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12452 }
12453 if (new_val != null) {
12454 setbMasquePlan((boolean) new_val);
12455 }
12456 });
12457 cbMasqueVignettes.selectedProperty().addListener((ov, old_val, new_val) -> {
12458 if (getiNombrePanoramiques() != 0) {
12459 setbDejaSauve(false);
12460 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12461 }
12462 if (new_val != null) {
12463 setbMasqueVignettes((boolean) new_val);
12464 }
12465 });
12466 cbMasqueCombo.selectedProperty().addListener((ov, old_val, new_val) -> {
12467 if (getiNombrePanoramiques() != 0) {
12468 setbDejaSauve(false);
12469 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12470 }
12471 if (new_val != null) {
12472 setbMasqueCombo((boolean) new_val);
12473 }
12474 });
12475 cbMasqueSuivPrec.selectedProperty().addListener((ov, old_val, new_val) -> {
12476 if (getiNombrePanoramiques() != 0) {
12477 setbDejaSauve(false);
12478 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12479 }
12480 if (new_val != null) {
12481 setbMasqueSuivPrec((boolean) new_val);
12482 }
12483 });
12484 cbMasqueHotspots.selectedProperty().addListener((ov, old_val, new_val) -> {
12485 if (getiNombrePanoramiques() != 0) {
12486 setbDejaSauve(false);
12487 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12488 }
12489 if (new_val != null) {
12490 setbMasqueHotspots((boolean) new_val);
12491 }
12492 });
12493
12494 /*
12495 Listeners Reseaux Sociaux
12496 */
12498 if (getiNombrePanoramiques() != 0) {
12499 setbDejaSauve(false);
12500 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12501 }
12502 setdXReseauxSociaux(new_value.doubleValue());
12504 });
12505
12507 if (getiNombrePanoramiques() != 0) {
12508 setbDejaSauve(false);
12509 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12510 }
12511 setdYReseauxSociaux(new_value.doubleValue());
12513 });
12514
12515 tgPosReseauxSociaux.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
12516 if (getiNombrePanoramiques() != 0) {
12517 setbDejaSauve(false);
12518 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12519 }
12520 if (tgPosReseauxSociaux.getSelectedToggle() != null) {
12521 setStrPositionReseauxSociaux(tgPosReseauxSociaux.getSelectedToggle().getUserData().toString());
12523 }
12524 });
12525 slTailleReseauxSociaux.valueProperty().addListener((ov, oldValue, newValue) -> {
12526 if (getiNombrePanoramiques() != 0) {
12527 setbDejaSauve(false);
12528 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12529 }
12530 if (newValue != null) {
12531 double taille = (double) newValue;
12534 }
12535 });
12536 slOpaciteReseauxSociaux.valueProperty().addListener((ov, oldValue, newValue) -> {
12537 if (getiNombrePanoramiques() != 0) {
12538 setbDejaSauve(false);
12539 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12540 }
12541 if (newValue != null) {
12542 double opac = (double) newValue;
12545 }
12546 });
12547 cbAfficheReseauxSociaux.selectedProperty().addListener((ov, old_val, new_val) -> {
12548 if (getiNombrePanoramiques() != 0) {
12549 setbDejaSauve(false);
12550 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12551 }
12552 if (new_val != null) {
12553 poReseaux.setbValide(new_val);
12556 }
12557 });
12558 cbReseauxSociauxTwitter.selectedProperty().addListener((ov, old_val, new_val) -> {
12559 if (getiNombrePanoramiques() != 0) {
12560 setbDejaSauve(false);
12561 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12562 }
12563 if (new_val != null) {
12566 }
12567 });
12568 cbReseauxSociauxMeta.selectedProperty().addListener((ov, old_val, new_val) -> {
12569 if (getiNombrePanoramiques() != 0) {
12570 setbDejaSauve(false);
12571 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12572 }
12573 if (new_val != null) {
12576 }
12577 });
12578 cbReseauxSociauxEmail.selectedProperty().addListener((ov, old_val, new_val) -> {
12579 if (getiNombrePanoramiques() != 0) {
12580 setbDejaSauve(false);
12581 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12582 }
12583 if (new_val != null) {
12586 }
12587 });
12588
12589 /*
12590 Listeners Vignettes
12591 */
12592 tgPosVignettes.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
12593 if (getiNombrePanoramiques() != 0) {
12594 setbDejaSauve(false);
12595 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12596 }
12597 if (tgPosVignettes.getSelectedToggle() != null) {
12598 setStrPositionVignettes(tgPosVignettes.getSelectedToggle().getUserData().toString());
12600 }
12601 });
12602
12603 slTailleVignettes.valueProperty().addListener((ov, oldValue, newValue) -> {
12604 if (getiNombrePanoramiques() != 0) {
12605 setbDejaSauve(false);
12606 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12607 }
12608 if (newValue != null) {
12609 double taille = (double) newValue;
12612 }
12613 });
12614
12615 slOpaciteVignettes.valueProperty().addListener((ov, oldValue, newValue) -> {
12616 if (getiNombrePanoramiques() != 0) {
12617 setbDejaSauve(false);
12618 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12619 }
12620 if (newValue != null) {
12621 double opac = (double) newValue;
12624 }
12625 });
12626
12627 cbAfficheVignettes.selectedProperty().addListener((ov, old_val, new_val) -> {
12628 if (getiNombrePanoramiques() != 0) {
12629 setbDejaSauve(false);
12630 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12631 }
12632 if (new_val != null) {
12634 poVignettes.setbValide(isbAfficheVignettes());
12636 }
12637 });
12638
12639 cpCouleurFondVignettes.valueProperty().addListener((ov, av, nv) -> {
12640 if (getiNombrePanoramiques() != 0) {
12641 setbDejaSauve(false);
12642 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12643 }
12644 String coul = cpCouleurFondVignettes.getValue().toString().substring(2, 8);
12647 });
12648 cpCouleurTexteVignettes.valueProperty().addListener((ov, av, nv) -> {
12649 if (getiNombrePanoramiques() != 0) {
12650 setbDejaSauve(false);
12651 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12652 }
12653 String coul = cpCouleurTexteVignettes.getValue().toString().substring(2, 8);
12656 });
12657
12658 cbReplieDemarrageVignettes.selectedProperty().addListener((ov, av, nv) -> {
12660 });
12661
12662
12663 /*
12664 Listeners ComboMenu
12665 */
12666 tgPosComboMenu.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
12667 if (getiNombrePanoramiques() != 0) {
12668 setbDejaSauve(false);
12669 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12670 }
12671 if (tgPosComboMenu.getSelectedToggle() != null) {
12672 setStrPositionXComboMenu(tgPosComboMenu.getSelectedToggle().getUserData().toString().split(":")[1]);
12673 setStrPositionYComboMenu(tgPosComboMenu.getSelectedToggle().getUserData().toString().split(":")[0]);
12675 }
12676 });
12677
12678 cbAfficheComboMenu.selectedProperty().addListener((ov, old_val, new_val) -> {
12679 if (getiNombrePanoramiques() != 0) {
12680 setbDejaSauve(false);
12681 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12682 }
12683 if (new_val != null) {
12685 poComboMenu.setbValide(isbAfficheComboMenu());
12687 }
12688 });
12689 cbAfficheComboMenuImages.selectedProperty().addListener((ov, old_val, new_val) -> {
12690 if (getiNombrePanoramiques() != 0) {
12691 setbDejaSauve(false);
12692 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12693 }
12694 if (new_val != null) {
12697 }
12698 });
12699
12701 if (getiNombrePanoramiques() != 0) {
12702 setbDejaSauve(false);
12703 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12704 }
12705 setOffsetXComboMenu(new_value.doubleValue());
12707 });
12708
12710 if (getiNombrePanoramiques() != 0) {
12711 setbDejaSauve(false);
12712 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12713 }
12714 setOffsetYComboMenu(new_value.doubleValue());
12716 });
12717 /*
12718 Listeners BoutonVisiteAuto
12719 */
12720 tgPosBoutonVisiteAuto.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
12721 if (getiNombrePanoramiques() != 0) {
12722 setbDejaSauve(false);
12723 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12724 }
12725 if (tgPosBoutonVisiteAuto.getSelectedToggle() != null) {
12726 setStrPositionXBoutonVisiteAuto(tgPosBoutonVisiteAuto.getSelectedToggle().getUserData().toString().split(":")[1]);
12727 setStrPositionYBoutonVisiteAuto(tgPosBoutonVisiteAuto.getSelectedToggle().getUserData().toString().split(":")[0]);
12729 }
12730 });
12731
12732 slTailleBoutonVisiteAuto.valueProperty().addListener((ov, oldValue, newValue) -> {
12733 if (getiNombrePanoramiques() != 0) {
12734 setbDejaSauve(false);
12735 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12736 }
12737 if (newValue != null) {
12738 double taille = (double) newValue;
12742 }
12743 });
12744
12745 getCbAfficheBoutonVisiteAuto().selectedProperty().addListener((ov, old_val, new_val) -> {
12746 if (getiNombrePanoramiques() != 0) {
12747 setbDejaSauve(false);
12748 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12749 }
12750 if (new_val != null) {
12754 }
12755 });
12756
12758 if (getiNombrePanoramiques() != 0) {
12759 setbDejaSauve(false);
12760 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12761 }
12764 });
12765
12767 if (getiNombrePanoramiques() != 0) {
12768 setbDejaSauve(false);
12769 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12770 }
12773 });
12774
12775
12776 /*
12777 Listeners Plan
12778 */
12779 cbAffichePlan.selectedProperty().addListener((ov, old_val, new_val) -> {
12780 if (getiNombrePanoramiques() != 0) {
12781 setbDejaSauve(false);
12782 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12783 }
12784 if (new_val != null) {
12785 if (new_val) {
12786 cbAfficheCarte.setSelected(false);
12787 }
12789 opPlan.setbValide(isbAffichePlan());
12790 getTabPlan().setDisable(!isbAffichePlan());
12791 getMniAffichagePlan().setDisable(!isbAffichePlan());
12792 getIvAjouterPlan().setDisable(!isbAffichePlan());
12793 getMniAjouterPlan().setDisable(!isbAffichePlan());
12794 if (new_val) {
12795 getIvAjouterPlan().setOpacity(1.0);
12796 } else {
12797 getIvAjouterPlan().setOpacity(0.3);
12798 }
12799 affichePlan();
12800 }
12801 });
12802 cbAfficheRadar.selectedProperty().addListener((ov, old_val, new_val) -> {
12803 if (getiNombrePanoramiques() != 0) {
12804 setbDejaSauve(false);
12805 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12806 }
12807 if (new_val != null) {
12808 setbAfficheRadar((boolean) new_val);
12809 affichePlan();
12810 }
12811 });
12812
12813 tgPosPlan.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
12814 if (getiNombrePanoramiques() != 0) {
12815 setbDejaSauve(false);
12816 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12817 }
12818 if (tgPosPlan.getSelectedToggle() != null) {
12819 setStrPositionPlan(tgPosPlan.getSelectedToggle().getUserData().toString());
12820 affichePlan();
12821 }
12822 });
12823 slLargeurPlan.valueProperty().addListener((observableValue, oldValue, newValue) -> {
12824 if (getiNombrePanoramiques() != 0) {
12825 setbDejaSauve(false);
12826 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12827 }
12828 if (newValue != null) {
12829 double taille = (double) newValue;
12831 lblLargeurPlan.setText(rbLocalisation.getString("interface.largeurPlan") + " (" + Math.round(taille) + "px )");
12832 affichePlan();
12833 }
12834 });
12835 slOpacitePlan.valueProperty().addListener((observableValue, oldValue, newValue) -> {
12836 if (getiNombrePanoramiques() != 0) {
12837 setbDejaSauve(false);
12838 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12839 }
12840 if (newValue != null) {
12841 double opac = (double) newValue;
12843 affichePlan();
12844 }
12845 });
12846
12847 cpCouleurFondPlan.valueProperty().addListener((ov, av, nv) -> {
12848 if (getiNombrePanoramiques() != 0) {
12849 setbDejaSauve(false);
12850 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12851 }
12852 String strCoul = cpCouleurFondPlan.getValue().toString().substring(2, 8);
12855 affichePlan();
12856 });
12857 cpCouleurTextePlan.valueProperty().addListener((ov, av, nv) -> {
12858 if (getiNombrePanoramiques() != 0) {
12859 setbDejaSauve(false);
12860 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12861 }
12862 String strCoul = cpCouleurTextePlan.getValue().toString().substring(2, 8);
12865 affichePlan();
12866 });
12867 slTailleRadar.valueProperty().addListener((observableValue, oldValue, newValue) -> {
12868 if (getiNombrePanoramiques() != 0) {
12869 setbDejaSauve(false);
12870 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12871 }
12872 if (newValue != null) {
12873 double taille = (double) newValue;
12875 affichePlan();
12876 }
12877 });
12878 slOpaciteRadar.valueProperty().addListener((observableValue, oldValue, newValue) -> {
12879 if (getiNombrePanoramiques() != 0) {
12880 setbDejaSauve(false);
12881 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12882 }
12883 if (newValue != null) {
12884 double opacite = (double) newValue;
12885 setOpaciteRadar(opacite);
12886 affichePlan();
12887 }
12888 });
12889 cpCouleurFondRadar.setOnAction((e) -> {
12890 if (getiNombrePanoramiques() != 0) {
12891 setbDejaSauve(false);
12892 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12893 }
12894 String strCoul = cpCouleurFondRadar.getValue().toString().substring(2, 8);
12897 affichePlan();
12898 });
12899 cpCouleurLigneRadar.setOnAction((e) -> {
12900 if (getiNombrePanoramiques() != 0) {
12901 setbDejaSauve(false);
12902 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12903 }
12904 String strCoul = cpCouleurLigneRadar.getValue().toString().substring(2, 8);
12907 affichePlan();
12908 });
12909 cbReplieDemarragePlan.selectedProperty().addListener((ov, av, nv) -> {
12911 });
12912 /*
12913 Listeners Carte
12914 */
12915 cbAfficheCarte.selectedProperty().addListener((ov, old_val, new_val) -> {
12916 if (isbInternet()) {
12917 if (getiNombrePanoramiques() != 0) {
12918 setbDejaSauve(false);
12919 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12920 }
12921 if (new_val != null) {
12922 if ((boolean) new_val) {
12923 cbAffichePlan.setSelected(false);
12924
12926 for (int ii = 0; ii < getiNombrePanoramiques(); ii++) {
12927 CoordonneesGeographiques coord = getPanoramiquesProjet()[ii].getMarqueurGeolocatisation();
12928 if (coord != null) {
12929 String strFichierPano = getPanoramiquesProjet()[ii]
12930 .getStrNomFichier().substring(getPanoramiquesProjet()[ii].getStrNomFichier()
12931 .lastIndexOf(File.separator) + 1, getPanoramiquesProjet()[ii]
12932 .getStrNomFichier().length()).split("\\.")[0];
12933 String strHTML = "<span style='font-family : Verdana,Arial,sans-serif;font-weight:bold;font-size : 12px;'>"
12934 + getPanoramiquesProjet()[ii].getStrTitrePanoramique()
12935 + "</span><br/>"
12936 + "<span style='font-family : Verdana,Arial,sans-serif;bold;font-size : 10px;'>"
12938 + "</span>";
12939 strHTML = strHTML.replace("\\", "/");
12942 }
12943 }
12944 if (getCoordCentreCarte() != null) {
12946 }
12947 }
12949 poCarte.setbValide(isbAfficheCarte());
12950 afficheCarte();
12951 }
12952 }
12953 });
12954
12955 cbAfficheRadarCarte.selectedProperty().addListener((ov, old_val, new_val) -> {
12956 if (isbInternet()) {
12957 if (getiNombrePanoramiques() != 0) {
12958 setbDejaSauve(false);
12959 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12960 }
12961 if (new_val != null) {
12962 if (!new_val) {
12964 }
12965 setbAfficheRadarCarte((boolean) new_val);
12966 afficheCarte();
12967 }
12968 }
12969 });
12970
12971 slZoomCarte.valueProperty().addListener((observableValue, oldValue, newValue) -> {
12972 if (isbInternet()) {
12973 if (getiNombrePanoramiques() != 0) {
12974 setbDejaSauve(false);
12975 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
12976 }
12977 if (newValue != null) {
12978 iFacteurZoomCarte = (int) Math.round((double) newValue);
12979 if (navigateurCarteOL != null) {
12981 }
12982 }
12983 }
12984 });
12985 btnChoixCentreCarte.setOnAction((e) -> {
12986 if (isbInternet() && navigateurCarteOL != null) {
12988 }
12989 });
12990 btnRecentreCarte.setOnAction((e) -> {
12991 if (isbInternet() && navigateurCarteOL != null) {
12992 if (getCoordCentreCarte() != null) {
12994 }
12995 }
12996 });
12997
12998 btnChoixCarte.setOnAction((e) -> {
12999 if (isbInternet() && navigateurCarteOL != null) {
13000 AnchorPane apOpenLayers = new AnchorPane();
13002 apOpenLayers.setPrefSize(240, navigateurCarteOL.getApChoixCartographie().getPrefHeight() + 10);
13004 apOpenLayers.setStyle("-fx-background-color : -fx-base;"
13005 + "-fx-border-color: derive(-fx-base,10%);"
13006 + "-fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.5) , 8, 0.0 , 0 , 8 );"
13007 + "-fx-border-width: 1px;");
13008 apFenetreAide.getChildren().addAll(apOpenLayers);
13009 Button btnFerme = new Button("X");
13010 btnFerme.setLayoutY(10);
13011 btnFerme.setLayoutX(205);
13012 apOpenLayers.getChildren().addAll(navigateurCarteOL.getApChoixCartographie(), btnFerme);
13013 apOpenLayers.setLayoutX((iLargeur - apOpenLayers.getPrefWidth()) / 2);
13014 apOpenLayers.setLayoutY((iHauteur - apOpenLayers.getPrefHeight()) / 2);
13015 apEnvironnement.getChildren().add(apOpenLayers);
13016 mbarPrincipal.setDisable(true);
13017 hbBarreBouton.setDisable(true);
13018 tpEnvironnement.setDisable(true);
13019 btnFerme.setOnAction((ev) -> {
13020 apEnvironnement.getChildren().remove(apOpenLayers);
13021 mbarPrincipal.setDisable(false);
13022 hbBarreBouton.setDisable(false);
13023 tpEnvironnement.setDisable(false);
13024 });
13025 }
13026 });
13027 btnRechercheAdresse.setOnAction((e) -> {
13028 if (isbInternet() && navigateurCarteOL != null) {
13030 }
13031 });
13032 tfAdresseCarte.setOnKeyPressed((e) -> {
13033 if (isbInternet() && navigateurCarteOL != null) {
13034 if (e.getCode() == KeyCode.ENTER) {
13036 }
13037 }
13038 });
13039
13040 tgPosCarte.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
13041 if (isbInternet()) {
13042 if (getiNombrePanoramiques() != 0) {
13043 setbDejaSauve(false);
13044 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13045 }
13046 if (tgPosCarte.getSelectedToggle() != null) {
13047 setStrPositionCarte(tgPosCarte.getSelectedToggle().getUserData().toString());
13048 afficheCarte();
13049 }
13050 }
13051 });
13052 slLargeurCarte.valueProperty().addListener((observableValue, oldValue, newValue) -> {
13053 if (isbInternet()) {
13054 if (getiNombrePanoramiques() != 0) {
13055 setbDejaSauve(false);
13056 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13057 }
13058 if (newValue != null) {
13059 double taille = (double) newValue;
13061 lblLargeurCarte.setText(rbLocalisation.getString("interface.largeurCarte") + " (" + Math.round(taille) + "px)");
13062 afficheCarte();
13063 }
13064 }
13065 });
13066 slHauteurCarte.valueProperty().addListener((observableValue, oldValue, newValue) -> {
13067 if (isbInternet()) {
13068 if (getiNombrePanoramiques() != 0) {
13069 setbDejaSauve(false);
13070 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13071 }
13072 if (newValue != null) {
13073 double taille = (double) newValue;
13075 lblHauteurCarte.setText(rbLocalisation.getString("interface.hauteurCarte") + " (" + Math.round(taille) + "px)");
13076 afficheCarte();
13077 }
13078 }
13079 });
13080 slZoomCarte.valueProperty().addListener((observableValue, oldValue, newValue) -> {
13081 if (isbInternet()) {
13082 if (getiNombrePanoramiques() != 0) {
13083 setbDejaSauve(false);
13084 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13085 }
13086 if (newValue != null) {
13087 int taille = (int) Math.round((double) newValue);
13089 lblZoomCarte.setText(rbLocalisation.getString("interface.zoomCarte") + " (" + Math.round(taille) + ")");
13090 afficheCarte();
13091 }
13092 }
13093 });
13094 slOpaciteCarte.valueProperty().addListener((observableValue, oldValue, newValue) -> {
13095 if (isbInternet()) {
13096 if (getiNombrePanoramiques() != 0) {
13097 setbDejaSauve(false);
13098 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13099 }
13100 if (newValue != null) {
13101 double opac = (double) newValue;
13103 afficheCarte();
13104 }
13105 }
13106 });
13107
13108 cpCouleurFondCarte.valueProperty().addListener((ov, av, nv) -> {
13109 if (isbInternet()) {
13110 if (getiNombrePanoramiques() != 0) {
13111 setbDejaSauve(false);
13112 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13113 }
13114 String strCoul = cpCouleurFondCarte.getValue().toString().substring(2, 8);
13117 afficheCarte();
13118 }
13119 });
13120 cpCouleurTexteCarte.valueProperty().addListener((ov, av, nv) -> {
13121 if (isbInternet()) {
13122 if (getiNombrePanoramiques() != 0) {
13123 setbDejaSauve(false);
13124 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13125 }
13126 String strCoul = cpCouleurTexteCarte.getValue().toString().substring(2, 8);
13129 afficheCarte();
13130 }
13131 });
13132 slTailleRadarCarte.valueProperty().addListener((observableValue, oldValue, newValue) -> {
13133 if (isbInternet()) {
13134 if (getiNombrePanoramiques() != 0) {
13135 setbDejaSauve(false);
13136 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13137 }
13138 if (newValue != null) {
13139 double taille = (double) newValue;
13142 }
13143 }
13144 });
13145 slOpaciteRadarCarte.valueProperty().addListener((observableValue, oldValue, newValue) -> {
13146 if (isbInternet()) {
13147 if (getiNombrePanoramiques() != 0) {
13148 setbDejaSauve(false);
13149 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13150 }
13151 if (newValue != null) {
13152 double opacite = (double) newValue;
13153 setOpaciteRadarCarte(opacite);
13155 }
13156 }
13157 });
13158 slAngleRadarCarte.valueProperty().addListener((observableValue, oldValue, newValue) -> {
13159 if (isbInternet()) {
13160 if (newValue != null) {
13161 double angle = (double) newValue;
13164 }
13165 }
13166 });
13167 slOuvertureRadarCarte.valueProperty().addListener((observableValue, oldValue, newValue) -> {
13168 if (isbInternet()) {
13169 if (newValue != null) {
13170 double angle = (double) newValue;
13173 }
13174 }
13175 });
13176 cpCouleurFondRadarCarte.setOnAction((e) -> {
13177 if (isbInternet()) {
13178 if (getiNombrePanoramiques() != 0) {
13179 setbDejaSauve(false);
13180 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13181 }
13182 String strCoul = cpCouleurFondRadarCarte.getValue().toString().substring(2, 8);
13186 }
13187 });
13188 cpCouleurLigneRadarCarte.setOnAction((e) -> {
13189 if (isbInternet()) {
13190 if (getiNombrePanoramiques() != 0) {
13191 setbDejaSauve(false);
13192 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13193 }
13194 String strCoul = cpCouleurLigneRadarCarte.getValue().toString().substring(2, 8);
13198 }
13199 });
13200 cbReplieDemarrageCarte.selectedProperty().addListener((ov, av, nv) -> {
13201 if (isbInternet()) {
13203 }
13204 });
13205
13206 /*
13207 Listeners Menu Contextuel
13208 */
13209 cbAfficheMenuContextuel.selectedProperty().addListener((ov, old_val, new_val) -> {
13210 if (getiNombrePanoramiques() != 0) {
13211 setbDejaSauve(false);
13212 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13213 }
13214 poMenuContextuel.setbValide(new_val);
13216 });
13217 cbAffichePrecSuivMC.selectedProperty().addListener((ov, old_val, new_val) -> {
13218 if (getiNombrePanoramiques() != 0) {
13219 setbDejaSauve(false);
13220 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13221 }
13223 });
13224 cbAffichePlanetNormalMC.selectedProperty().addListener((ov, old_val, new_val) -> {
13225 if (getiNombrePanoramiques() != 0) {
13226 setbDejaSauve(false);
13227 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13228 }
13230 });
13231 cbAffichePersMC1.selectedProperty().addListener((ov, old_val, new_val) -> {
13232 if (getiNombrePanoramiques() != 0) {
13233 setbDejaSauve(false);
13234 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13235 }
13236 setbAffichePersMC1((boolean) new_val);
13237 if (isbAffichePersMC1()) {
13238 tfPersLib1.setDisable(false);
13239 tfPersURL1.setDisable(false);
13240 cbAffichePersMC2.setDisable(false);
13241 } else {
13242 tfPersLib1.setDisable(true);
13243 tfPersURL1.setDisable(true);
13244 cbAffichePersMC2.setSelected(false);
13245 cbAffichePersMC2.setDisable(true);
13246 }
13247 });
13248 cbAffichePersMC2.selectedProperty().addListener((ov, old_val, new_val) -> {
13249 if (getiNombrePanoramiques() != 0) {
13250 setbDejaSauve(false);
13251 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13252 }
13253 setbAffichePersMC2((boolean) new_val);
13254 if (isbAffichePersMC2()) {
13255 tfPersLib2.setDisable(false);
13256 tfPersURL2.setDisable(false);
13257 } else {
13258 tfPersLib2.setDisable(true);
13259 tfPersURL2.setDisable(true);
13260 }
13261 });
13262 tfPersLib1.textProperty().addListener((ov, oldValue, newValue) -> {
13263 if (getiNombrePanoramiques() != 0) {
13264 setbDejaSauve(false);
13265 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13266 }
13267 setStrPersLib1(tfPersLib1.getText());
13268 });
13269 tfPersLib2.textProperty().addListener((ov, oldValue, newValue) -> {
13270 if (getiNombrePanoramiques() != 0) {
13271 setbDejaSauve(false);
13272 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13273 }
13274 setStrPersLib2(tfPersLib2.getText());
13275 });
13276 tfPersURL1.textProperty().addListener((ov, oldValue, newValue) -> {
13277 if (getiNombrePanoramiques() != 0) {
13278 setbDejaSauve(false);
13279 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13280 }
13281 setStrPersURL1(tfPersURL1.getText());
13282 });
13283 tfPersURL2.textProperty().addListener((ov, oldValue, newValue) -> {
13284 if (getiNombrePanoramiques() != 0) {
13285 setbDejaSauve(false);
13286 getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
13287 }
13288 setStrPersURL2(tfPersURL2.getText());
13289 });
13290
13291 }
13292
13300 return offsetXBarreClassique;
13301 }
13302
13309 public void setOffsetXBarreClassique(double offsetXBarreClassique) {
13310 this.offsetXBarreClassique = offsetXBarreClassique;
13311 }
13312
13320 return offsetYBarreClassique;
13321 }
13322
13329 public void setOffsetYBarreClassique(double offsetYBarreClassique) {
13330 this.offsetYBarreClassique = offsetYBarreClassique;
13331 }
13332
13339 public double getTailleBarreClassique() {
13340 return tailleBarreClassique;
13341 }
13342
13349 public void setTailleBarreClassique(double tailleBarreClassique) {
13350 this.tailleBarreClassique = tailleBarreClassique;
13351 }
13352
13360 return espacementBarreClassique;
13361 }
13362
13369 public void setEspacementBarreClassique(double espacementBarreClassique) {
13370 this.espacementBarreClassique = espacementBarreClassique;
13371 }
13372
13380 return strStyleDefautBarreClassique;
13381 }
13382
13390 return strPositionBarreClassique;
13391 }
13392
13399 public void setStrPositionBarreClassique(String strPositionBarreClassique) {
13400 this.strPositionBarreClassique = strPositionBarreClassique;
13401 }
13402
13410 return styleBarreClassique;
13411 }
13412
13419 public void setStyleBarreClassique(String styleBarreClassique) {
13420 this.styleBarreClassique = styleBarreClassique;
13421 }
13422
13430 return strDeplacementsBarreClassique;
13431 }
13432
13439 public void setStrDeplacementsBarreClassique(String strDeplacementsBarreClassique) {
13440 this.strDeplacementsBarreClassique = strDeplacementsBarreClassique;
13441 }
13442
13450 return strZoomBarreClassique;
13451 }
13452
13459 public void setStrZoomBarreClassique(String strZoomBarreClassique) {
13460 this.strZoomBarreClassique = strZoomBarreClassique;
13461 }
13462
13470 return strOutilsBarreClassique;
13471 }
13472
13479 public void setStrOutilsBarreClassique(String strOutilsBarreClassique) {
13480 this.strOutilsBarreClassique = strOutilsBarreClassique;
13481 }
13482
13490 return strRotationBarreClassique;
13491 }
13492
13499 public void setStrRotationBarreClassique(String strRotationBarreClassique) {
13500 this.strRotationBarreClassique = strRotationBarreClassique;
13501 }
13502
13510 return strPleinEcranBarreClassique;
13511 }
13512
13519 public void setStrPleinEcranBarreClassique(String strPleinEcranBarreClassique) {
13520 this.strPleinEcranBarreClassique = strPleinEcranBarreClassique;
13521 }
13522
13530 return strSourisBarreClassique;
13531 }
13532
13539 public void setStrSourisBarreClassique(String strSourisBarreClassique) {
13540 this.strSourisBarreClassique = strSourisBarreClassique;
13541 }
13542
13550 return strVisibiliteBarreClassique;
13551 }
13552
13559 public void setStrVisibiliteBarreClassique(String strVisibiliteBarreClassique) {
13560 this.strVisibiliteBarreClassique = strVisibiliteBarreClassique;
13561 }
13562
13570 return bCouleurOrigineBarrePersonnalisee;
13571 }
13572
13579 public void setbCouleurOrigineBarrePersonnalisee(boolean bCouleurOrigineBarrePersonnalisee) {
13580 this.bCouleurOrigineBarrePersonnalisee = bCouleurOrigineBarrePersonnalisee;
13581 }
13582
13591 return iNombreZonesBarrePersonnalisee;
13592 }
13593
13600 public void setiNombreZonesBarrePersonnalisee(int iNombreZonesBarrePersonnalisee) {
13601 this.iNombreZonesBarrePersonnalisee = iNombreZonesBarrePersonnalisee;
13602 }
13603
13610 return offsetXBarrePersonnalisee;
13611 }
13612
13618 public void setOffsetXBarrePersonnalisee(double offsetXBarrePersonnalisee) {
13619 this.offsetXBarrePersonnalisee = offsetXBarrePersonnalisee;
13620 }
13621
13628 return offsetYBarrePersonnalisee;
13629 }
13630
13636 public void setOffsetYBarrePersonnalisee(double offsetYBarrePersonnalisee) {
13637 this.offsetYBarrePersonnalisee = offsetYBarrePersonnalisee;
13638 }
13639
13647 return tailleBarrePersonnalisee;
13648 }
13649
13656 public void setTailleBarrePersonnalisee(double tailleBarrePersonnalisee) {
13657 this.tailleBarrePersonnalisee = tailleBarrePersonnalisee;
13658 }
13659
13667 return tailleIconesBarrePersonnalisee;
13668 }
13669
13676 public void setTailleIconesBarrePersonnalisee(double tailleIconesBarrePersonnalisee) {
13677 this.tailleIconesBarrePersonnalisee = tailleIconesBarrePersonnalisee;
13678 }
13679
13687 return opaciteBarrePersonnalisee;
13688 }
13689
13696 public void setOpaciteBarrePersonnalisee(double opaciteBarrePersonnalisee) {
13697 this.opaciteBarrePersonnalisee = opaciteBarrePersonnalisee;
13698 }
13699
13707 return strPositionBarrePersonnalisee;
13708 }
13709
13716 public void setStrPositionBarrePersonnalisee(String strPositionBarrePersonnalisee) {
13717 this.strPositionBarrePersonnalisee = strPositionBarrePersonnalisee;
13718 }
13719
13727 return strDeplacementsBarrePersonnalisee;
13728 }
13729
13736 public void setStrDeplacementsBarrePersonnalisee(String strDeplacementsBarrePersonnalisee) {
13737 this.strDeplacementsBarrePersonnalisee = strDeplacementsBarrePersonnalisee;
13738 }
13739
13747 return strZoomBarrePersonnalisee;
13748 }
13749
13756 public void setStrZoomBarrePersonnalisee(String strZoomBarrePersonnalisee) {
13757 this.strZoomBarrePersonnalisee = strZoomBarrePersonnalisee;
13758 }
13759
13767 return strInfoBarrePersonnalisee;
13768 }
13769
13776 public void setStrInfoBarrePersonnalisee(String strInfoBarrePersonnalisee) {
13777 this.strInfoBarrePersonnalisee = strInfoBarrePersonnalisee;
13778 }
13779
13787 return strAideBarrePersonnalisee;
13788 }
13789
13796 public void setStrAideBarrePersonnalisee(String strAideBarrePersonnalisee) {
13797 this.strAideBarrePersonnalisee = strAideBarrePersonnalisee;
13798 }
13799
13807 return strRotationBarrePersonnalisee;
13808 }
13809
13816 public void setStrRotationBarrePersonnalisee(String strRotationBarrePersonnalisee) {
13817 this.strRotationBarrePersonnalisee = strRotationBarrePersonnalisee;
13818 }
13819
13827 return strPleinEcranBarrePersonnalisee;
13828 }
13829
13836 public void setStrPleinEcranBarrePersonnalisee(String strPleinEcranBarrePersonnalisee) {
13837 this.strPleinEcranBarrePersonnalisee = strPleinEcranBarrePersonnalisee;
13838 }
13839
13847 return strSourisBarrePersonnalisee;
13848 }
13849
13856 public void setStrSourisBarrePersonnalisee(String strSourisBarrePersonnalisee) {
13857 this.strSourisBarrePersonnalisee = strSourisBarrePersonnalisee;
13858 }
13859
13867 return strVisibiliteBarrePersonnalisee;
13868 }
13869
13876 public void setStrVisibiliteBarrePersonnalisee(String strVisibiliteBarrePersonnalisee) {
13877 this.strVisibiliteBarrePersonnalisee = strVisibiliteBarrePersonnalisee;
13878 }
13879
13887 return strLienImageBarrePersonnalisee;
13888 }
13889
13896 public void setStrLienImageBarrePersonnalisee(String strLienImageBarrePersonnalisee) {
13897 this.strLienImageBarrePersonnalisee = strLienImageBarrePersonnalisee;
13898 }
13899
13907 return strLien1BarrePersonnalisee;
13908 }
13909
13916 public void setStrLien1BarrePersonnalisee(String strLien1BarrePersonnalisee) {
13917 this.strLien1BarrePersonnalisee = strLien1BarrePersonnalisee;
13918 }
13919
13928 return strLien2BarrePersonnalisee;
13929 }
13930
13937 public void setStrLien2BarrePersonnalisee(String strLien2BarrePersonnalisee) {
13938 this.strLien2BarrePersonnalisee = strLien2BarrePersonnalisee;
13939 }
13940
13949 return wiBarrePersonnaliseeCouleur;
13950 }
13951
13958 public void setWiBarrePersonnaliseeCouleur(WritableImage wiBarrePersonnaliseeCouleur) {
13959 this.wiBarrePersonnaliseeCouleur = wiBarrePersonnaliseeCouleur;
13960 }
13961
13967 public boolean isbAfficheTitre() {
13968 return bAfficheTitre;
13969 }
13970
13976 public void setbAfficheTitre(boolean bAfficheTitre) {
13977 this.bAfficheTitre = bAfficheTitre;
13978 }
13979
13985 public boolean isbAfficheDescription() {
13986 return bAfficheDescription;
13987 }
13988
13994 public void setbAfficheDescription(boolean bAfficheDescription) {
13995 this.bAfficheDescription = bAfficheDescription;
13996 }
13997
14004 return cbAfficheDescription;
14005 }
14006
14013 return poDescription;
14014 }
14015
14023
14030 return strTitrePoliceNom;
14031 }
14032
14038 public void setStrTitrePoliceNom(String strTitrePoliceNom) {
14039 this.strTitrePoliceNom = strTitrePoliceNom;
14040 }
14041
14049 return strTitrePoliceStyle;
14050 }
14051
14058 public void setStrTitrePoliceStyle(String strTitrePoliceStyle) {
14059 this.strTitrePoliceStyle = strTitrePoliceStyle;
14060 }
14061
14069 return strTitrePoliceTaille;
14070 }
14071
14078 public void setStrTitrePoliceTaille(String strTitrePoliceTaille) {
14079 this.strTitrePoliceTaille = strTitrePoliceTaille;
14080 }
14081
14089 return strCouleurTitre;
14090 }
14091
14098 public void setStrCouleurTitre(String strCouleurTitre) {
14099 this.strCouleurTitre = strCouleurTitre;
14100 }
14101
14109 return strCouleurFondTitre;
14110 }
14111
14118 public void setStrCouleurFondTitre(String strCouleurFondTitre) {
14119 this.strCouleurFondTitre = strCouleurFondTitre;
14120 }
14121
14128 public double getTitreOpacite() {
14129 return titreOpacite;
14130 }
14131
14138 public void setTitreOpacite(double titreOpacite) {
14139 this.titreOpacite = titreOpacite;
14140 }
14141
14147 public double getTitreTaille() {
14148 return titreTaille;
14149 }
14150
14156 public void setTitreTaille(double titreTaille) {
14157 this.titreTaille = titreTaille;
14158 }
14159
14165 public boolean isbAfficheBoussole() {
14166 return bAfficheBoussole;
14167 }
14168
14174 public void setbAfficheBoussole(boolean bAfficheBoussole) {
14175 this.bAfficheBoussole = bAfficheBoussole;
14176 }
14177
14184 return strImageBoussole;
14185 }
14186
14192 public void setStrImageBoussole(String strImageBoussole) {
14193 this.strImageBoussole = strImageBoussole;
14194 }
14195
14203 return strPositionBoussole;
14204 }
14205
14211 public void setStrPositionBoussole(String strPositionBoussole) {
14212 this.strPositionBoussole = strPositionBoussole;
14213 }
14214
14220 public double getOffsetXBoussole() {
14221 return offsetXBoussole;
14222 }
14223
14229 public void setOffsetXBoussole(double offsetXBoussole) {
14230 this.offsetXBoussole = offsetXBoussole;
14231 }
14232
14238 public double getOffsetYBoussole() {
14239 return offsetYBoussole;
14240 }
14241
14247 public void setOffsetYBoussole(double offsetYBoussole) {
14248 this.offsetYBoussole = offsetYBoussole;
14249 }
14250
14256 public double getTailleBoussole() {
14257 return tailleBoussole;
14258 }
14259
14265 public void setTailleBoussole(double tailleBoussole) {
14266 this.tailleBoussole = tailleBoussole;
14267 }
14268
14274 public double getOpaciteBoussole() {
14275 return opaciteBoussole;
14276 }
14277
14283 public void setOpaciteBoussole(double opaciteBoussole) {
14284 this.opaciteBoussole = opaciteBoussole;
14285 }
14286
14292 public boolean isbAiguilleMobileBoussole() {
14293 return bAiguilleMobileBoussole;
14294 }
14295
14301 public void setbAiguilleMobileBoussole(boolean bAiguilleMobileBoussole) {
14302 this.bAiguilleMobileBoussole = bAiguilleMobileBoussole;
14303 }
14304
14311 return bFenetreInfoPersonnalise;
14312 }
14313
14319 public void setbFenetreInfoPersonnalise(boolean bFenetreInfoPersonnalise) {
14320 this.bFenetreInfoPersonnalise = bFenetreInfoPersonnalise;
14321 }
14322
14329 return bFenetreAidePersonnalise;
14330 }
14331
14337 public void setbFenetreAidePersonnalise(boolean bFenetreAidePersonnalise) {
14338 this.bFenetreAidePersonnalise = bFenetreAidePersonnalise;
14339 }
14340
14346 public double getFenetreInfoTaille() {
14347 return fenetreInfoTaille;
14348 }
14349
14355 public void setFenetreInfoTaille(double fenetreInfoTaille) {
14356 this.fenetreInfoTaille = fenetreInfoTaille;
14357 }
14358
14364 public double getFenetreAideTaille() {
14365 return fenetreAideTaille;
14366 }
14367
14373 public void setFenetreAideTaille(double fenetreAideTaille) {
14374 this.fenetreAideTaille = fenetreAideTaille;
14375 }
14376
14382 public double getFenetreInfoPosX() {
14383 return fenetreInfoPosX;
14384 }
14385
14391 public void setFenetreInfoPosX(double fenetreInfoPosX) {
14392 this.fenetreInfoPosX = fenetreInfoPosX;
14393 }
14394
14400 public double getFenetreInfoPosY() {
14401 return fenetreInfoPosY;
14402 }
14403
14409 public void setFenetreInfoPosY(double fenetreInfoPosY) {
14410 this.fenetreInfoPosY = fenetreInfoPosY;
14411 }
14412
14418 public double getFenetreAidePosX() {
14419 return fenetreAidePosX;
14420 }
14421
14427 public void setFenetreAidePosX(double fenetreAidePosX) {
14428 this.fenetreAidePosX = fenetreAidePosX;
14429 }
14430
14436 public double getFenetreAidePosY() {
14437 return fenetreAidePosY;
14438 }
14439
14445 public void setFenetreAidePosY(double fenetreAidePosY) {
14446 this.fenetreAidePosY = fenetreAidePosY;
14447 }
14448
14454 public double getFenetreInfoposX() {
14455 return fenetreInfoposX;
14456 }
14457
14463 public void setFenetreInfoposX(double fenetreInfoposX) {
14464 this.fenetreInfoposX = fenetreInfoposX;
14465 }
14466
14472 public double getFenetreInfoOpacite() {
14473 return fenetreInfoOpacite;
14474 }
14475
14481 public void setFenetreInfoOpacite(double fenetreInfoOpacite) {
14482 this.fenetreInfoOpacite = fenetreInfoOpacite;
14483 }
14484
14490 public double getFenetreAideOpacite() {
14491 return fenetreAideOpacite;
14492 }
14493
14499 public void setFenetreAideOpacite(double fenetreAideOpacite) {
14500 this.fenetreAideOpacite = fenetreAideOpacite;
14501 }
14502
14508 public double getFenetrePoliceTaille() {
14509 return fenetrePoliceTaille;
14510 }
14511
14517 public void setFenetrePoliceTaille(double fenetrePoliceTaille) {
14518 this.fenetrePoliceTaille = fenetrePoliceTaille;
14519 }
14520
14526 public double getFenetreURLPosX() {
14527 return fenetreURLPosX;
14528 }
14529
14535 public void setFenetreURLPosX(double fenetreURLPosX) {
14536 this.fenetreURLPosX = fenetreURLPosX;
14537 }
14538
14544 public double getFenetreURLPosY() {
14545 return fenetreURLPosY;
14546 }
14547
14553 public void setFenetreURLPosY(double fenetreURLPosY) {
14554 this.fenetreURLPosY = fenetreURLPosY;
14555 }
14556
14562 public double getFenetreOpaciteFond() {
14563 return fenetreOpaciteFond;
14564 }
14565
14571 public void setFenetreOpaciteFond(double fenetreOpaciteFond) {
14572 this.fenetreOpaciteFond = fenetreOpaciteFond;
14573 }
14574
14581 return strFenetreInfoImage;
14582 }
14583
14589 public void setStrFenetreInfoImage(String strFenetreInfoImage) {
14590 this.strFenetreInfoImage = strFenetreInfoImage;
14591 }
14592
14599 return strFenetreAideImage;
14600 }
14601
14607 public void setStrFenetreAideImage(String strFenetreAideImage) {
14608 this.strFenetreAideImage = strFenetreAideImage;
14609 }
14610
14617 return strFenetreURL;
14618 }
14619
14625 public void setStrFenetreURL(String strFenetreURL) {
14626 this.strFenetreURL = strFenetreURL;
14627 }
14628
14635 return strFenetreTexteURL;
14636 }
14637
14643 public void setStrFenetreTexteURL(String strFenetreTexteURL) {
14644 this.strFenetreTexteURL = strFenetreTexteURL;
14645 }
14646
14653 return strFenetreURLInfobulle;
14654 }
14655
14661 public void setStrFenetreURLInfobulle(String strFenetreURLInfobulle) {
14662 this.strFenetreURLInfobulle = strFenetreURLInfobulle;
14663 }
14664
14671 return strFenetreURLCouleur;
14672 }
14673
14679 public void setStrFenetreURLCouleur(String strFenetreURLCouleur) {
14680 this.strFenetreURLCouleur = strFenetreURLCouleur;
14681 }
14682
14689 return strFenetrePolice;
14690 }
14691
14697 public void setStrFenetrePolice(String strFenetrePolice) {
14698 this.strFenetrePolice = strFenetrePolice;
14699 }
14700
14707 return strFenetreCouleurFond;
14708 }
14709
14715 public void setStrFenetreCouleurFond(String strFenetreCouleurFond) {
14716 this.strFenetreCouleurFond = strFenetreCouleurFond;
14717 }
14718
14724 public boolean isbAfficheMasque() {
14725 return bAfficheMasque;
14726 }
14727
14733 public void setbAfficheMasque(boolean bAfficheMasque) {
14734 this.bAfficheMasque = bAfficheMasque;
14735 }
14736
14743 return strImageMasque;
14744 }
14745
14751 public void setStrImageMasque(String strImageMasque) {
14752 this.strImageMasque = strImageMasque;
14753 }
14754
14762 return strPositionMasque;
14763 }
14764
14770 public void setStrPositionMasque(String strPositionMasque) {
14771 this.strPositionMasque = strPositionMasque;
14772 }
14773
14779 public double getdXMasque() {
14780 return dXMasque;
14781 }
14782
14788 public void setdXMasque(double dXMasque) {
14789 this.dXMasque = dXMasque;
14790 }
14791
14797 public double getdYMasque() {
14798 return dYMasque;
14799 }
14800
14806 public void setdYMasque(double dYMasque) {
14807 this.dYMasque = dYMasque;
14808 }
14809
14815 public double getTailleMasque() {
14816 return tailleMasque;
14817 }
14818
14824 public void setTailleMasque(double tailleMasque) {
14825 this.tailleMasque = tailleMasque;
14826 }
14827
14833 public double getOpaciteMasque() {
14834 return opaciteMasque;
14835 }
14836
14842 public void setOpaciteMasque(double opaciteMasque) {
14843 this.opaciteMasque = opaciteMasque;
14844 }
14845
14851 public boolean isbMasqueNavigation() {
14852 return bMasqueNavigation;
14853 }
14854
14860 public void setbMasqueNavigation(boolean bMasqueNavigation) {
14861 this.bMasqueNavigation = bMasqueNavigation;
14862 }
14863
14869 public boolean isbMasqueBoussole() {
14870 return bMasqueBoussole;
14871 }
14872
14878 public void setbMasqueBoussole(boolean bMasqueBoussole) {
14879 this.bMasqueBoussole = bMasqueBoussole;
14880 }
14881
14887 public boolean isbMasqueTitre() {
14888 return bMasqueTitre;
14889 }
14890
14896 public void setbMasqueTitre(boolean bMasqueTitre) {
14897 this.bMasqueTitre = bMasqueTitre;
14898 }
14899
14905 public boolean isbMasquePlan() {
14906 return bMasquePlan;
14907 }
14908
14914 public void setbMasquePlan(boolean bMasquePlan) {
14915 this.bMasquePlan = bMasquePlan;
14916 }
14917
14923 public boolean isbMasqueReseaux() {
14924 return bMasqueReseaux;
14925 }
14926
14932 public void setbMasqueReseaux(boolean bMasqueReseaux) {
14933 this.bMasqueReseaux = bMasqueReseaux;
14934 }
14935
14941 public boolean isbMasqueVignettes() {
14942 return bMasqueVignettes;
14943 }
14944
14950 public void setbMasqueVignettes(boolean bMasqueVignettes) {
14951 this.bMasqueVignettes = bMasqueVignettes;
14952 }
14953
14959 public boolean isbMasqueCombo() {
14960 return bMasqueCombo;
14961 }
14962
14968 public void setbMasqueCombo(boolean bMasqueCombo) {
14969 this.bMasqueCombo = bMasqueCombo;
14970 }
14971
14977 public boolean isbMasqueSuivPrec() {
14978 return bMasqueSuivPrec;
14979 }
14980
14986 public void setbMasqueSuivPrec(boolean bMasqueSuivPrec) {
14987 this.bMasqueSuivPrec = bMasqueSuivPrec;
14988 }
14989
14995 public boolean isbMasqueHotspots() {
14996 return bMasqueHotspots;
14997 }
14998
15004 public void setbMasqueHotspots(boolean bMasqueHotspots) {
15005 this.bMasqueHotspots = bMasqueHotspots;
15006 }
15007
15013 public boolean isbAfficheReseauxSociaux() {
15014 return bAfficheReseauxSociaux;
15015 }
15016
15022 public void setbAfficheReseauxSociaux(boolean bAfficheReseauxSociaux) {
15023 this.bAfficheReseauxSociaux = bAfficheReseauxSociaux;
15024 }
15025
15032 return strImageReseauxSociauxTwitter;
15033 }
15034
15040 public void setStrImageReseauxSociauxTwitter(String strImageReseauxSociauxTwitter) {
15041 this.strImageReseauxSociauxTwitter = strImageReseauxSociauxTwitter;
15042 }
15043
15050 return strImageReseauxSociauxMeta;
15051 }
15052
15058 public void setStrImageReseauxSociauxMeta(String strImageReseauxSociauxMeta) {
15059 this.strImageReseauxSociauxMeta = strImageReseauxSociauxMeta;
15060 }
15061
15068 return strImageReseauxSociauxEmail;
15069 }
15070
15076 public void setStrImageReseauxSociauxEmail(String strImageReseauxSociauxEmail) {
15077 this.strImageReseauxSociauxEmail = strImageReseauxSociauxEmail;
15078 }
15079
15087 return strPositionReseauxSociaux;
15088 }
15089
15095 public void setStrPositionReseauxSociaux(String strPositionReseauxSociaux) {
15096 this.strPositionReseauxSociaux = strPositionReseauxSociaux;
15097 }
15098
15104 public double getdXReseauxSociaux() {
15105 return dXReseauxSociaux;
15106 }
15107
15113 public void setdXReseauxSociaux(double dXReseauxSociaux) {
15114 this.dXReseauxSociaux = dXReseauxSociaux;
15115 }
15116
15122 public double getdYReseauxSociaux() {
15123 return dYReseauxSociaux;
15124 }
15125
15131 public void setdYReseauxSociaux(double dYReseauxSociaux) {
15132 this.dYReseauxSociaux = dYReseauxSociaux;
15133 }
15134
15140 public double getTailleReseauxSociaux() {
15141 return tailleReseauxSociaux;
15142 }
15143
15149 public void setTailleReseauxSociaux(double tailleReseauxSociaux) {
15150 this.tailleReseauxSociaux = tailleReseauxSociaux;
15151 }
15152
15159 return opaciteReseauxSociaux;
15160 }
15161
15167 public void setOpaciteReseauxSociaux(double opaciteReseauxSociaux) {
15168 this.opaciteReseauxSociaux = opaciteReseauxSociaux;
15169 }
15170
15176 public boolean isbReseauxSociauxTwitter() {
15177 return bReseauxSociauxTwitter;
15178 }
15179
15185 public void setbReseauxSociauxTwitter(boolean bReseauxSociauxTwitter) {
15186 this.bReseauxSociauxTwitter = bReseauxSociauxTwitter;
15187 }
15188
15194 public boolean isbReseauxSociauxMeta() {
15195 return bReseauxSociauxMeta;
15196 }
15197
15203 public void setbReseauxSociauxMeta(boolean bReseauxSociauxMeta) {
15204 this.bReseauxSociauxMeta = bReseauxSociauxMeta;
15205 }
15206
15212 public boolean isbReseauxSociauxEmail() {
15213 return bReseauxSociauxEmail;
15214 }
15215
15221 public void setbReseauxSociauxEmail(boolean bReseauxSociauxEmail) {
15222 this.bReseauxSociauxEmail = bReseauxSociauxEmail;
15223 }
15224
15230 public boolean isbAfficheVignettes() {
15231 return bAfficheVignettes;
15232 }
15233
15239 public void setbAfficheVignettes(boolean bAfficheVignettes) {
15240 this.bAfficheVignettes = bAfficheVignettes;
15241 }
15242
15249 return strCouleurFondVignettes;
15250 }
15251
15257 public void setStrCouleurFondVignettes(String strCouleurFondVignettes) {
15258 this.strCouleurFondVignettes = strCouleurFondVignettes;
15259 }
15260
15267 return strCouleurTexteVignettes;
15268 }
15269
15275 public void setStrCouleurTexteVignettes(String strCouleurTexteVignettes) {
15276 this.strCouleurTexteVignettes = strCouleurTexteVignettes;
15277 }
15278
15286 return strPositionVignettes;
15287 }
15288
15294 public void setStrPositionVignettes(String strPositionVignettes) {
15295 this.strPositionVignettes = strPositionVignettes;
15296 }
15297
15303 public double getTailleImageVignettes() {
15304 return tailleImageVignettes;
15305 }
15306
15312 public void setTailleImageVignettes(double tailleImageVignettes) {
15313 this.tailleImageVignettes = tailleImageVignettes;
15314 }
15315
15321 public double getOpaciteVignettes() {
15322 return opaciteVignettes;
15323 }
15324
15330 public void setOpaciteVignettes(double opaciteVignettes) {
15331 this.opaciteVignettes = opaciteVignettes;
15332 }
15333
15339 public boolean isbAfficheComboMenu() {
15340 return bAfficheComboMenu;
15341 }
15342
15348 public void setbAfficheComboMenu(boolean bAfficheComboMenu) {
15349 this.bAfficheComboMenu = bAfficheComboMenu;
15350 }
15351
15357 public boolean isbAfficheComboMenuImages() {
15358 return bAfficheComboMenuImages;
15359 }
15360
15366 public void setbAfficheComboMenuImages(boolean bAfficheComboMenuImages) {
15367 this.bAfficheComboMenuImages = bAfficheComboMenuImages;
15368 }
15369
15376 return strPositionXComboMenu;
15377 }
15378
15384 public void setStrPositionXComboMenu(String strPositionXComboMenu) {
15385 this.strPositionXComboMenu = strPositionXComboMenu;
15386 }
15387
15394 return strPositionYComboMenu;
15395 }
15396
15402 public void setStrPositionYComboMenu(String strPositionYComboMenu) {
15403 this.strPositionYComboMenu = strPositionYComboMenu;
15404 }
15405
15411 public double getOffsetXComboMenu() {
15412 return offsetXComboMenu;
15413 }
15414
15420 public void setOffsetXComboMenu(double offsetXComboMenu) {
15421 this.offsetXComboMenu = offsetXComboMenu;
15422 }
15423
15429 public double getOffsetYComboMenu() {
15430 return offsetYComboMenu;
15431 }
15432
15438 public void setOffsetYComboMenu(double offsetYComboMenu) {
15439 this.offsetYComboMenu = offsetYComboMenu;
15440 }
15441
15447 public boolean isbAffichePlan() {
15448 return bAffichePlan;
15449 }
15450
15456 public void setbAffichePlan(boolean bAffichePlan) {
15457 this.bAffichePlan = bAffichePlan;
15458 }
15459
15466 return strPositionPlan;
15467 }
15468
15474 public void setStrPositionPlan(String strPositionPlan) {
15475 this.strPositionPlan = strPositionPlan;
15476 }
15477
15483 public double getLargeurPlan() {
15484 return largeurPlan;
15485 }
15486
15492 public void setLargeurPlan(double largeurPlan) {
15493 this.largeurPlan = largeurPlan;
15494 }
15495
15502 return couleurFondPlan;
15503 }
15504
15510 public void setCouleurFondPlan(Color couleurFondPlan) {
15511 this.couleurFondPlan = couleurFondPlan;
15512 }
15513
15520 return strCouleurFondPlan;
15521 }
15522
15528 public void setStrCouleurFondPlan(String strCouleurFondPlan) {
15529 this.strCouleurFondPlan = strCouleurFondPlan;
15530 }
15531
15537 public double getOpacitePlan() {
15538 return opacitePlan;
15539 }
15540
15546 public void setOpacitePlan(double opacitePlan) {
15547 this.opacitePlan = opacitePlan;
15548 }
15549
15556 return couleurTextePlan;
15557 }
15558
15564 public void setCouleurTextePlan(Color couleurTextePlan) {
15565 this.couleurTextePlan = couleurTextePlan;
15566 }
15567
15574 return strCouleurTextePlan;
15575 }
15576
15582 public void setStrCouleurTextePlan(String strCouleurTextePlan) {
15583 this.strCouleurTextePlan = strCouleurTextePlan;
15584 }
15585
15591 public boolean isbAfficheRadar() {
15592 return bAfficheRadar;
15593 }
15594
15600 public void setbAfficheRadar(boolean bAfficheRadar) {
15601 this.bAfficheRadar = bAfficheRadar;
15602 }
15603
15610 return couleurLigneRadar;
15611 }
15612
15618 public void setCouleurLigneRadar(Color couleurLigneRadar) {
15619 this.couleurLigneRadar = couleurLigneRadar;
15620 }
15621
15628 return strCouleurLigneRadar;
15629 }
15630
15636 public void setStrCouleurLigneRadar(String strCouleurLigneRadar) {
15637 this.strCouleurLigneRadar = strCouleurLigneRadar;
15638 }
15639
15646 return couleurFondRadar;
15647 }
15648
15654 public void setCouleurFondRadar(Color couleurFondRadar) {
15655 this.couleurFondRadar = couleurFondRadar;
15656 }
15657
15664 return strCouleurFondRadar;
15665 }
15666
15672 public void setStrCouleurFondRadar(String strCouleurFondRadar) {
15673 this.strCouleurFondRadar = strCouleurFondRadar;
15674 }
15675
15681 public double getTailleRadar() {
15682 return tailleRadar;
15683 }
15684
15690 public void setTailleRadar(double tailleRadar) {
15691 this.tailleRadar = tailleRadar;
15692 }
15693
15699 public double getOpaciteRadar() {
15700 return opaciteRadar;
15701 }
15702
15708 public void setOpaciteRadar(double opaciteRadar) {
15709 this.opaciteRadar = opaciteRadar;
15710 }
15711
15717 public boolean isbAfficheMenuContextuel() {
15718 return bAfficheMenuContextuel;
15719 }
15720
15726 public void setbAfficheMenuContextuel(boolean bAfficheMenuContextuel) {
15727 this.bAfficheMenuContextuel = bAfficheMenuContextuel;
15728 }
15729
15735 public boolean isbAffichePrecSuivMC() {
15736 return bAffichePrecSuivMC;
15737 }
15738
15744 public void setbAffichePrecSuivMC(boolean bAffichePrecSuivMC) {
15745 this.bAffichePrecSuivMC = bAffichePrecSuivMC;
15746 }
15747
15753 public boolean isbAffichePlanetNormalMC() {
15754 return bAffichePlanetNormalMC;
15755 }
15756
15762 public void setbAffichePlanetNormalMC(boolean bAffichePlanetNormalMC) {
15763 this.bAffichePlanetNormalMC = bAffichePlanetNormalMC;
15764 }
15765
15771 public boolean isbAffichePersMC1() {
15772 return bAffichePersMC1;
15773 }
15774
15780 public void setbAffichePersMC1(boolean bAffichePersMC1) {
15781 this.bAffichePersMC1 = bAffichePersMC1;
15782 }
15783
15790 return strPersLib1;
15791 }
15792
15798 public void setStrPersLib1(String strPersLib1) {
15799 this.strPersLib1 = strPersLib1;
15800 }
15801
15808 return strPersURL1;
15809 }
15810
15816 public void setStrPersURL1(String strPersURL1) {
15817 this.strPersURL1 = strPersURL1;
15818 }
15819
15825 public boolean isbAffichePersMC2() {
15826 return bAffichePersMC2;
15827 }
15828
15834 public void setbAffichePersMC2(boolean bAffichePersMC2) {
15835 this.bAffichePersMC2 = bAffichePersMC2;
15836 }
15837
15844 return strPersLib2;
15845 }
15846
15852 public void setStrPersLib2(String strPersLib2) {
15853 this.strPersLib2 = strPersLib2;
15854 }
15855
15862 return strPersURL2;
15863 }
15864
15870 public void setStrPersURL2(String strPersURL2) {
15871 this.strPersURL2 = strPersURL2;
15872 }
15873
15879 public boolean isbSuivantPrecedent() {
15880 return bSuivantPrecedent;
15881 }
15882
15888 public void setbSuivantPrecedent(boolean bSuivantPrecedent) {
15889 this.bSuivantPrecedent = bSuivantPrecedent;
15890 }
15891
15898 return imgBoutons;
15899 }
15900
15906 public void setImgBoutons(Image[] imgBoutons) {
15907 this.imgBoutons = imgBoutons;
15908 }
15909
15916 return strNomImagesBoutons;
15917 }
15918
15924 public void setStrNomImagesBoutons(String[] strNomImagesBoutons) {
15925 this.strNomImagesBoutons = strNomImagesBoutons;
15926 }
15927
15934 return prLisBoutons;
15935 }
15936
15942 public void setPrLisBoutons(PixelReader[] prLisBoutons) {
15943 this.prLisBoutons = prLisBoutons;
15944 }
15945
15952 return wiNouveauxBoutons;
15953 }
15954
15960 public void setWiNouveauxBoutons(WritableImage[] wiNouveauxBoutons) {
15961 this.wiNouveauxBoutons = wiNouveauxBoutons;
15962 }
15963
15970 return pwNouveauxBoutons;
15971 }
15972
15978 public void setPwNouveauxBoutons(PixelWriter[] pwNouveauxBoutons) {
15979 this.pwNouveauxBoutons = pwNouveauxBoutons;
15980 }
15981
15988 return iNombreImagesBouton;
15989 }
15990
15996 public void setiNombreImagesBouton(int iNombreImagesBouton) {
15997 this.iNombreImagesBouton = iNombreImagesBouton;
15998 }
15999
16006 return imgMasque;
16007 }
16008
16014 public void setImgMasque(Image imgMasque) {
16015 this.imgMasque = imgMasque;
16016 }
16017
16024 return prLisMasque;
16025 }
16026
16032 public void setPrLisMasque(PixelReader prLisMasque) {
16033 this.prLisMasque = prLisMasque;
16034 }
16035
16042 return wiNouveauxMasque;
16043 }
16044
16050 public void setWiNouveauxMasque(WritableImage wiNouveauxMasque) {
16051 this.wiNouveauxMasque = wiNouveauxMasque;
16052 }
16053
16060 return pwNouveauxMasque;
16061 }
16062
16068 public void setPwNouveauxMasque(PixelWriter pwNouveauxMasque) {
16069 this.pwNouveauxMasque = pwNouveauxMasque;
16070 }
16071
16078 return imagesFond;
16079 }
16080
16086 public void setImagesFond(ImageFond[] imagesFond) {
16087 this.imagesFond = imagesFond;
16088 }
16089
16096 return iNombreImagesFond;
16097 }
16098
16104 public void setiNombreImagesFond(int iNombreImagesFond) {
16105 this.iNombreImagesFond = iNombreImagesFond;
16106 }
16107
16114 return strStyleHotSpots;
16115 }
16116
16122 public void setStrStyleHotSpots(String strStyleHotSpots) {
16123 this.strStyleHotSpots = strStyleHotSpots;
16124 }
16125
16132 return strStyleHotSpotImages;
16133 }
16134
16140 public void setStrStyleHotSpotImages(String strStyleHotSpotImages) {
16141 this.strStyleHotSpotImages = strStyleHotSpotImages;
16142 }
16143
16150 return zonesBarrePersonnalisee;
16151 }
16152
16158 public void setZonesBarrePersonnalisee(ZoneTelecommande[] zonesBarrePersonnalisee) {
16159 this.zonesBarrePersonnalisee = zonesBarrePersonnalisee;
16160 }
16161
16168 return strStyleHotSpotHTML;
16169 }
16170
16176 public void setStrStyleHotSpotHTML(String strStyleHotSpotHTML) {
16177 this.strStyleHotSpotHTML = strStyleHotSpotHTML;
16178 }
16179
16185 public boolean isbAfficheCarte() {
16186 return bAfficheCarte;
16187 }
16188
16194 public void setbAfficheCarte(boolean bAfficheCarte) {
16195 this.bAfficheCarte = bAfficheCarte;
16196 }
16197
16204 return strPositionCarte;
16205 }
16206
16212 public void setStrPositionCarte(String strPositionCarte) {
16213 this.strPositionCarte = strPositionCarte;
16214 }
16215
16221 public double getLargeurCarte() {
16222 return largeurCarte;
16223 }
16224
16230 public void setLargeurCarte(double largeurCarte) {
16231 this.largeurCarte = largeurCarte;
16232 }
16233
16240 return couleurFondCarte;
16241 }
16242
16248 public void setCouleurFondCarte(Color couleurFondCarte) {
16249 this.couleurFondCarte = couleurFondCarte;
16250 }
16251
16258 return strCouleurFondCarte;
16259 }
16260
16266 public void setStrCouleurFondCarte(String strCouleurFondCarte) {
16267 this.strCouleurFondCarte = strCouleurFondCarte;
16268 }
16269
16275 public double getOpaciteCarte() {
16276 return opaciteCarte;
16277 }
16278
16284 public void setOpaciteCarte(double opaciteCarte) {
16285 this.opaciteCarte = opaciteCarte;
16286 }
16287
16294 return couleurTexteCarte;
16295 }
16296
16302 public void setCouleurTexteCarte(Color couleurTexteCarte) {
16303 this.couleurTexteCarte = couleurTexteCarte;
16304 }
16305
16312 return strCouleurTexteCarte;
16313 }
16314
16320 public void setStrCouleurTexteCarte(String strCouleurTexteCarte) {
16321 this.strCouleurTexteCarte = strCouleurTexteCarte;
16322 }
16323
16329 public boolean isbAfficheRadarCarte() {
16330 return bAfficheRadarCarte;
16331 }
16332
16338 public void setbAfficheRadarCarte(boolean bAfficheRadarCarte) {
16339 this.bAfficheRadarCarte = bAfficheRadarCarte;
16340 }
16341
16348 return couleurLigneRadarCarte;
16349 }
16350
16356 public void setCouleurLigneRadarCarte(Color couleurLigneRadarCarte) {
16357 this.couleurLigneRadarCarte = couleurLigneRadarCarte;
16358 }
16359
16366 return strCouleurLigneRadarCarte;
16367 }
16368
16374 public void setStrCouleurLigneRadarCarte(String strCouleurLigneRadarCarte) {
16375 this.strCouleurLigneRadarCarte = strCouleurLigneRadarCarte;
16376 }
16377
16384 return couleurFondRadarCarte;
16385 }
16386
16392 public void setCouleurFondRadarCarte(Color couleurFondRadarCarte) {
16393 this.couleurFondRadarCarte = couleurFondRadarCarte;
16394 }
16395
16402 return strCouleurFondRadarCarte;
16403 }
16404
16410 public void setStrCouleurFondRadarCarte(String strCouleurFondRadarCarte) {
16411 this.strCouleurFondRadarCarte = strCouleurFondRadarCarte;
16412 }
16413
16419 public double getTailleRadarCarte() {
16420 return tailleRadarCarte;
16421 }
16422
16428 public void setTailleRadarCarte(double tailleRadarCarte) {
16429 this.tailleRadarCarte = tailleRadarCarte;
16430 }
16431
16437 public double getOpaciteRadarCarte() {
16438 return opaciteRadarCarte;
16439 }
16440
16446 public void setOpaciteRadarCarte(double opaciteRadarCarte) {
16447 this.opaciteRadarCarte = opaciteRadarCarte;
16448 }
16449
16455 public double getHauteurCarte() {
16456 return hauteurCarte;
16457 }
16458
16464 public void setHauteurCarte(double hauteurCarte) {
16465 this.hauteurCarte = hauteurCarte;
16466 }
16467
16474 return iFacteurZoomCarte;
16475 }
16476
16482 public void setiFacteurZoomCarte(int iFacteurZoomCarte) {
16483 this.iFacteurZoomCarte = iFacteurZoomCarte;
16484 }
16485
16492 return coordCentreCarte;
16493 }
16494
16500 public void setCoordCentreCarte(CoordonneesGeographiques coordCentreCarte) {
16501 this.coordCentreCarte = coordCentreCarte;
16502 }
16503
16510 return slZoomCarte;
16511 }
16512
16518 public void setSlZoomCarte(Slider slZoomCarte) {
16519 this.slZoomCarte = slZoomCarte;
16520 }
16521
16528 return strNomLayers;
16529 }
16530
16536 public void setStrNomLayers(String strNomLayers) {
16537 this.strNomLayers = strNomLayers;
16538 }
16539
16544 public boolean isbReplieDemarrageCarte() {
16545 return bReplieDemarrageCarte;
16546 }
16547
16552 public void setbReplieDemarrageCarte(boolean bReplieDemarrageCarte) {
16553 this.bReplieDemarrageCarte = bReplieDemarrageCarte;
16554 }
16555
16560 public boolean isbReplieDemarragePlan() {
16561 return bReplieDemarragePlan;
16562 }
16563
16568 public void setbReplieDemarragePlan(boolean bReplieDemarragePlan) {
16569 this.bReplieDemarragePlan = bReplieDemarragePlan;
16570 }
16571
16577 return bReplieDemarrageVignettes;
16578 }
16579
16584 public void setbReplieDemarrageVignettes(boolean bReplieDemarrageVignettes) {
16585 this.bReplieDemarrageVignettes = bReplieDemarrageVignettes;
16586 }
16587
16593 public boolean isbTemplate() {
16594 return bTemplate;
16595 }
16596
16602 public void setbTemplate(boolean bTemplate) {
16603 this.bTemplate = bTemplate;
16604 }
16605
16612 return bAfficheBoutonVisiteAuto;
16613 }
16614
16620 public void setbAfficheBoutonVisiteAuto(boolean bAfficheBoutonVisiteAuto) {
16621 this.bAfficheBoutonVisiteAuto = bAfficheBoutonVisiteAuto;
16622 }
16623
16630 return strPositionXBoutonVisiteAuto;
16631 }
16632
16637 public void setStrPositionXBoutonVisiteAuto(String strPositionXBoutonVisiteAuto) {
16638 this.strPositionXBoutonVisiteAuto = strPositionXBoutonVisiteAuto;
16639 }
16640
16647 return strPositionYBoutonVisiteAuto;
16648 }
16649
16654 public void setStrPositionYBoutonVisiteAuto(String strPositionYBoutonVisiteAuto) {
16655 this.strPositionYBoutonVisiteAuto = strPositionYBoutonVisiteAuto;
16656 }
16657
16664 return offsetXBoutonVisiteAuto;
16665 }
16666
16672 public void setOffsetXBoutonVisiteAuto(double offsetXBoutonVisiteAuto) {
16673 this.offsetXBoutonVisiteAuto = offsetXBoutonVisiteAuto;
16674 }
16675
16682 return offsetYBoutonVisiteAuto;
16683 }
16684
16690 public void setOffsetYBoutonVisiteAuto(double offsetYBoutonVisiteAuto) {
16691 this.offsetYBoutonVisiteAuto = offsetYBoutonVisiteAuto;
16692 }
16693
16700 return cbAfficheBoutonVisiteAuto;
16701 }
16702
16708 public void setCbAfficheBoutonVisiteAuto(CheckBox cbAfficheBoutonVisiteAuto) {
16709 this.cbAfficheBoutonVisiteAuto = cbAfficheBoutonVisiteAuto;
16710 }
16711
16718 return apBtnVA;
16719 }
16720
16726 public void setApBtnVA(AnchorPane apBtnVA) {
16727 this.apBtnVA = apBtnVA;
16728 }
16729
16736 return tailleBoutonVisiteAuto;
16737 }
16738
16744 public void setTailleBoutonVisiteAuto(double tailleBoutonVisiteAuto) {
16745 this.tailleBoutonVisiteAuto = tailleBoutonVisiteAuto;
16746 }
16747
16754 return strTitrePosition;
16755 }
16756
16762 public void setStrTitrePosition(String strTitrePosition) {
16763 this.strTitrePosition = strTitrePosition;
16764 }
16765
16771 public double getTitreDecalage() {
16772 return titreDecalage;
16773 }
16774
16780 public void setTitreDecalage(double titreDecalage) {
16781 this.titreDecalage = titreDecalage;
16782 }
16783
16789 public boolean isbTitreVisite() {
16790 return bTitreVisite;
16791 }
16792
16798 public void setbTitreVisite(boolean bTitreVisite) {
16799 this.bTitreVisite = bTitreVisite;
16800 }
16801
16807 public boolean isbTitrePanoramique() {
16808 return bTitrePanoramique;
16809 }
16810
16816 public void setbTitrePanoramique(boolean bTitrePanoramique) {
16817 this.bTitrePanoramique = bTitrePanoramique;
16818 }
16819
16825 public boolean isbTitreAdapte() {
16826 return bTitreAdapte;
16827 }
16828
16834 public void setbTitreAdapte(boolean bTitreAdapte) {
16835 this.bTitreAdapte = bTitreAdapte;
16836 }
16837
16844 return iTailleHotspotsPanoramique;
16845 }
16846
16852 public void setiTailleHotspotsPanoramique(int iTailleHotspotsPanoramique) {
16853 this.iTailleHotspotsPanoramique = iTailleHotspotsPanoramique;
16854 }
16855
16862 return iTailleHotspotsImage;
16863 }
16864
16870 public void setiTailleHotspotsImage(int iTailleHotspotsImage) {
16871 this.iTailleHotspotsImage = iTailleHotspotsImage;
16872 }
16873
16880 return iTailleHotspotsHTML;
16881 }
16882
16888 public void setiTailleHotspotsHTML(int iTailleHotspotsHTML) {
16889 this.iTailleHotspotsHTML = iTailleHotspotsHTML;
16890 }
16891
16898 return bHotspotsPanoAnimesDefaut;
16899 }
16900
16906 public void setbHotspotsPanoAnimesDefaut(boolean bHotspotsPanoAnimesDefaut) {
16907 this.bHotspotsPanoAnimesDefaut = bHotspotsPanoAnimesDefaut;
16908 }
16909
16916 return bHotspotsPhotoAnimesDefaut;
16917 }
16918
16924 public void setbHotspotsPhotoAnimesDefaut(boolean bHotspotsPhotoAnimesDefaut) {
16925 this.bHotspotsPhotoAnimesDefaut = bHotspotsPhotoAnimesDefaut;
16926 }
16927
16934 return bHotspotsHTMLAnimesDefaut;
16935 }
16936
16942 public void setbHotspotsHTMLAnimesDefaut(boolean bHotspotsHTMLAnimesDefaut) {
16943 this.bHotspotsHTMLAnimesDefaut = bHotspotsHTMLAnimesDefaut;
16944 }
16945
16950 return strTypeAnimationPanoDefaut;
16951 }
16952
16956 public void setStrTypeAnimationPanoDefaut(String strTypeAnimationPanoDefaut) {
16957 this.strTypeAnimationPanoDefaut = strTypeAnimationPanoDefaut;
16958 }
16959
16964 return strTypeAnimationPhotoDefaut;
16965 }
16966
16970 public void setStrTypeAnimationPhotoDefaut(String strTypeAnimationPhotoDefaut) {
16971 this.strTypeAnimationPhotoDefaut = strTypeAnimationPhotoDefaut;
16972 }
16973
16978 return strTypeAnimationHTMLDefaut;
16979 }
16980
16984 public void setStrTypeAnimationHTMLDefaut(String strTypeAnimationHTMLDefaut) {
16985 this.strTypeAnimationHTMLDefaut = strTypeAnimationHTMLDefaut;
16986 }
16987
16994 return bHotspotsPanoAgrandisDefaut;
16995 }
16996
17002 public void setbHotspotsPanoAgrandisDefaut(boolean bHotspotsPanoAgrandisDefaut) {
17003 this.bHotspotsPanoAgrandisDefaut = bHotspotsPanoAgrandisDefaut;
17004 }
17005
17012 return bHotspotsPhotoAgrandisDefaut;
17013 }
17014
17020 public void setbHotspotsPhotoAgrandisDefaut(boolean bHotspotsPhotoAgrandisDefaut) {
17021 this.bHotspotsPhotoAgrandisDefaut = bHotspotsPhotoAgrandisDefaut;
17022 }
17023
17030 return bHotspotsHTMLAgrandisDefaut;
17031 }
17032
17038 public void setbHotspotsHTMLAgrandisDefaut(boolean bHotspotsHTMLAgrandisDefaut) {
17039 this.bHotspotsHTMLAgrandisDefaut = bHotspotsHTMLAgrandisDefaut;
17040 }
17041
17048 return couleurFondTheme;
17049 }
17050
17056 public void setCouleurFondTheme(Color couleurFondTheme) {
17057 this.couleurFondTheme = couleurFondTheme;
17058 }
17059
17064 return couleurHotspots;
17065 }
17066
17071 return couleurHotspotsPhoto;
17072 }
17073
17078 return couleurHotspotsHTML;
17079 }
17080
17086 public double getOpaciteTheme() {
17087 return opaciteTheme;
17088 }
17089
17095 public int getiCalqueTitre() {
17096 return iCalqueTitre;
17097 }
17098
17104 public void setiCalqueTitre(int iCalqueTitre) {
17105 this.iCalqueTitre = iCalqueTitre;
17106 }
17107
17114 return iCalqueBarreClassique;
17115 }
17116
17122 public void setiCalqueBarreClassique(int iCalqueBarreClassique) {
17123 this.iCalqueBarreClassique = iCalqueBarreClassique;
17124 }
17125
17132 return iCalqueBarrePersonnalisee;
17133 }
17134
17140 public void setiCalqueBarrePersonnalisee(int iCalqueBarrePersonnalisee) {
17141 this.iCalqueBarrePersonnalisee = iCalqueBarrePersonnalisee;
17142 }
17143
17149 public int getiCalqueMasquage() {
17150 return iCalqueMasquage;
17151 }
17152
17158 public void setiCalqueMasquage(int iCalqueMasquage) {
17159 this.iCalqueMasquage = iCalqueMasquage;
17160 }
17161
17168 return iCalqueVisiteAuto;
17169 }
17170
17176 public void setiCalqueVisiteAuto(int iCalqueVisiteAuto) {
17177 this.iCalqueVisiteAuto = iCalqueVisiteAuto;
17178 }
17179
17185 public int getiCalquePartage() {
17186 return iCalquePartage;
17187 }
17188
17194 public void setiCalquePartage(int iCalquePartage) {
17195 this.iCalquePartage = iCalquePartage;
17196 }
17197
17203 public int getiCalquePlan() {
17204 return iCalquePlan;
17205 }
17206
17212 public void setiCalquePlan(int iCalquePlan) {
17213 this.iCalquePlan = iCalquePlan;
17214 }
17215
17221 public int getiCalqueCarte() {
17222 return iCalqueCarte;
17223 }
17224
17230 public void setiCalqueCarte(int iCalqueCarte) {
17231 this.iCalqueCarte = iCalqueCarte;
17232 }
17233
17239 public int getiCalqueBoussole() {
17240 return iCalqueBoussole;
17241 }
17242
17248 public void setiCalqueBoussole(int iCalqueBoussole) {
17249 this.iCalqueBoussole = iCalqueBoussole;
17250 }
17251
17257 public int getiCalqueVignettes() {
17258 return iCalqueVignettes;
17259 }
17260
17266 public void setiCalqueVignettes(int iCalqueVignettes) {
17267 this.iCalqueVignettes = iCalqueVignettes;
17268 }
17269
17276 return iCalqueMenuPanoramiques;
17277 }
17278
17284 public void setiCalqueMenuPanoramiques(int iCalqueMenuPanoramiques) {
17285 this.iCalqueMenuPanoramiques = iCalqueMenuPanoramiques;
17286 }
17287
17293 public int getiCalqueSuivPrec() {
17294 return iCalqueSuivPrec;
17295 }
17296
17302 public void setiCalqueSuivPrec(int iCalqueSuivPrec) {
17303 this.iCalqueSuivPrec = iCalqueSuivPrec;
17304 }
17305
17312 return spOutils;
17313 }
17314
17320 public void setSpOutils(ScrollPane spOutils) {
17321 this.spOutils = spOutils;
17322 }
17323
17330 return apVis;
17331 }
17332
17338 public void setApVis(AnchorPane apVis) {
17339 this.apVis = apVis;
17340 }
17341
17347 // Déterminer la couleur de fond selon le thème
17349 String couleurFond = estThemeSombre ? "#3a3a3a" : "#e8e8e8";
17350 String style = "-fx-background-color: " + couleurFond + "; -fx-background-radius: 5px;";
17351
17352 // Mettre à jour les trois panneaux d'icônes de hotspots
17353 if (getSpOutils() != null && getSpOutils().getContent() != null) {
17354 VBox vbOutils = (VBox) getSpOutils().getContent();
17355
17356 // Parcourir les enfants pour trouver les panneaux de hotspots
17357 for (javafx.scene.Node node : vbOutils.getChildren()) {
17360
17361 // Chercher les PaneOutil qui contiennent les hotspots
17362 for (javafx.scene.Node child : ap.getChildren()) {
17365
17366 // Chercher les ScrollPane d'icônes
17367 for (javafx.scene.Node scrollNode : apChild.getChildren()) {
17370
17371 // Vérifier si c'est bien un ScrollPane d'icônes de hotspots
17372 // (ils ont une hauteur fixe de 200px)
17373 if (sp.getPrefHeight() == 200 && sp.getContent() instanceof AnchorPane) {
17374 AnchorPane apIcones = (AnchorPane) sp.getContent();
17375 apIcones.setStyle(style);
17376 }
17377 }
17378 }
17379 }
17380 }
17381 }
17382 }
17383 }
17384 }
17385}
OpenLayers Date
OpenLayers String
Definition OpenLayers.js:59
OpenLayers Feature Vector style
function f
Classe de remplacement pour jfxtras.labs.scene.control.BigDecimalField qui n'est plus disponible dans...
ObjectProperty< BigDecimal > numberProperty()
Obtient la propriété du nombre.
void setMinValue(BigDecimal minValue)
Définit la valeur minimale.
void setMaxValue(BigDecimal maxValue)
Définit la valeur maximale.
void setNumber(BigDecimal value)
Définit la valeur BigDecimal.
void setLongitude(double longitude)
Définit la valeur de longitude.
void setLatitude(double latitude)
Définit la valeur de latitude.
String getStrNomDiaporama()
Retourne le nom du diaporama.
Editeur de visites virtuelles panoramiques.
static String getStrTooltipStyle()
Retourne la valeur de strTooltipStyle.
static int getiNombrePlans()
Retourne la valeur de iNombrePlans.
static Tab getTabPlan()
Retourne la valeur de tabPlan.
static void setiNombrePanoramiquesFichier(int aiNombrePanoramiquesFichier)
Définit la valeur de iNombrePanoramiquesFichier.
static ImageView getIvAjouterPlan()
Retourne la valeur de ivAjouterPlan.
static int getiNombreDiapo()
Retourne la valeur de iNombreDiapo.
static void setbDejaSauve(boolean abDejaSauve)
Définit la valeur de bDejaSauve.
static Plan[] getPlans()
Retourne la valeur de plans.
static MenuItem getMniAffichagePlan()
Retourne la valeur de mniAffichagePlan.
static void copieFichierRepertoire(String strFichier, String strRepertoire)
Copie un fichier unique vers un répertoire de destination.
static Locale getLocale()
Retourne la valeur de locale.
static String getStrRepertTemp()
Retourne la valeur de strRepertTemp.
static Panoramique[] getPanoramiquesProjet()
Retourne la valeur de panoramiquesProjet.
static boolean isbInternet()
Retourne la valeur de bInternet.
static boolean isbAutoTourDemarre()
Retourne la valeur de bAutoTourDemarre.
static int getiDecalageMac()
Retourne la valeur de iDecalageMac.
static Stage getStPrincipal()
Retourne la valeur de stPrincipal.
static int getiNombrePanoramiquesFichier()
Retourne la valeur de iNombrePanoramiquesFichier.
static int getiNombrePanoramiques()
Retourne la valeur de iNombrePanoramiques.
static String getStrCurrentDir()
Retourne la valeur de strCurrentDir.
static GestionnairePlanController getGestionnairePlan()
Retourne la valeur de gestionnairePlan.
static MenuItem getMniAjouterPlan()
Retourne la valeur de mniAjouterPlan.
static String getStrRepertAppli()
Retourne la valeur de strRepertAppli.
static int getiPanoActuel()
Retourne la valeur de iPanoActuel.
static void rafraichitAffichageHotSpots()
Rafraîchit l'affichage des hotspots dans le panneau de visite Utilisé notamment après l'application d...
Génération de listes FileFilter.
Gestion de l'interface de visualition de la visite virtuelle.
void setHauteurCarte(double hauteurCarte)
Définit la valeur de hauteurCarte.
Slider slFenetreInfoOpacite
Slider pour ajuster l'opacité de la fenêtre d'informations.
boolean isbAffichePlan()
Retourne la valeur de bAffichePlan.
TextField tfFenetreTexteURL
TextField pour spécifier le texte du lien URL.
CheckBox cbTitreAdapte
CheckBox pour adapter automatiquement le titre à la largeur.
Slider slTailleReseauxSociaux
Slider pour ajuster la taille des boutons de réseaux sociaux.
boolean bAfficheTitre
Indique si le titre de la visite est affiché.
boolean bMasqueSuivPrec
Indique si le masquage s'applique aux boutons suivant/précédent.
void setiCalqueSuivPrec(int iCalqueSuivPrec)
Définit la valeur de iCalqueSuivPrec.
void setbAffichePlan(boolean bAffichePlan)
Définit la valeur de bAffichePlan.
void setStrPositionCarte(String strPositionCarte)
Définit la valeur de strPositionCarte.
ImageView ivHotSpotImage
ImageView pour l'icône de hotspot image.
boolean isbFenetreInfoPersonnalise()
Retourne la valeur de bFenetreInfoPersonnalise.
ComboBox cbNiveauCarte
ComboBox pour sélectionner le niveau de calque de la carte.
HBox hbInterface
HBox contenant l'interface principale (outils + visualisation).
void setStrFenetreAideImage(String strFenetreAideImage)
Définit la valeur de strFenetreAideImage.
CheckBox cbSourisBarrePersonnalisee
CheckBox contrôlant l'affichage du bouton mode souris.
CheckBox cbAffichePlan
CheckBox pour activer l'affichage du plan.
RadioButton rbReseauxSociauxTopLeft
RadioButton pour positionner les réseaux sociaux en haut à gauche.
void setFenetreInfoTaille(double fenetreInfoTaille)
Définit la valeur de fenetreInfoTaille.
int lisFichierShp(String strNomFichier, ZoneTelecommande[] zonesBarre)
Lit et parse un fichier SHP (Shapefile HTML) pour la barre personnalisée.
void miseAJourRadarSeul()
Met à jour uniquement le radar sur la carte sans toucher aux marqueurs ni au centrage.
String strImageBoussole
Nom du fichier image utilisé pour la boussole.
void setStrLienImageBarrePersonnalisee(String strLienImageBarrePersonnalisee)
Définit le chemin vers l'image PNG de la barre personnalisée.
RadioButton rbCenterTitre
RadioButton pour centrer le titre.
BigDecimalField bdfFenetreURLPosY
Champ de saisie pour la position Y de l'URL.
ColorPicker cpCouleurTextePlan
ColorPicker pour la couleur du texte du plan.
String strPoliceInfoBulle
Police utilisée pour les infobulles.
String getStrFenetreURL()
Retourne la valeur de strFenetreURL.
final ToggleGroup tgPosComboMenu
ToggleGroup pour les RadioButton de position du menu combiné.
Slider slOpaciteBoussole
Slider pour ajuster l'opacité de la boussole.
void setPwNouveauxMasque(PixelWriter pwNouveauxMasque)
Définit la valeur de pwNouveauxMasque.
CheckBox cbMasqueReseaux
CheckBox pour activer le masquage des réseaux sociaux.
double opaciteRadar
Opacité du radar (0.0 = transparent, 1.0 = opaque).
void setCouleurLigneRadar(Color couleurLigneRadar)
Définit la valeur de couleurLigneRadar.
double getOffsetXComboMenu()
Retourne la valeur de offsetXComboMenu.
boolean bReseauxSociauxTwitter
Indique si le bouton Twitter/X est activé.
void setFenetreAidePosX(double fenetreAidePosX)
Définit la valeur de fenetreAidePosX.
ColorPicker cpCouleurHotspotsHTML
ColorPicker pour la couleur des hotspots HTML.
void setFenetreAideTaille(double fenetreAideTaille)
Définit la valeur de fenetreAideTaille.
String strTitrePoliceNom
Nom de la police utilisée pour le titre.
void changeCouleurHSHTML(double couleurFinale, double sat, double bright)
Slider slOpaciteMasque
Slider pour ajuster l'opacité du bouton de masquage.
String[] strNomImagesBoutons
Tableau des noms des fichiers d'images de boutons.
CheckBox cbAfficheRadarCarte
CheckBox pour activer l'affichage du radar sur la carte.
String getStrPositionBarreClassique()
Retourne la position de la barre classique.
double getFenetreInfoTaille()
Retourne la valeur de fenetreInfoTaille.
Color getCouleurFondRadar()
Retourne la valeur de couleurFondRadar.
AnchorPane apAfficheBarrePersonnalisee
AnchorPane pour l'affichage de la barre personnalisée.
ColorPicker cpCouleurLigneRadarCarte
ColorPicker pour la couleur de ligne du radar de la carte.
WritableImage getWiNouveauxMasque()
Retourne la valeur de wiNouveauxMasque.
void setbHotspotsHTMLAnimesDefaut(boolean bHotspotsHTMLAnimesDefaut)
Définit la valeur de bHotspotsHTMLAnimesDefaut.
Color getCouleurLigneRadar()
Retourne la valeur de couleurLigneRadar.
void setStrCouleurFondRadar(String strCouleurFondRadar)
Définit la valeur de strCouleurFondRadar.
ImageView ivMasque
ImageView affichant l'icône de masquage.
boolean isbHotspotsHTMLAgrandisDefaut()
Retourne la valeur de bHotspotsHTMLAgrandisDefaut.
void setCoordCentreCarte(CoordonneesGeographiques coordCentreCarte)
Définit la valeur de coordCentreCarte.
String strLienImageBarrePersonnalisee
Chemin vers l'image de la barre de navigation personnalisée.
String getStrAideBarrePersonnalisee()
Obtient la zone de la barre personnalisée affectée au bouton d'aide.
String styleBarreClassique
Style actuellement appliqué à la barre de navigation classique.
String getStrLienImageBarrePersonnalisee()
Obtient le chemin vers l'image PNG de la barre personnalisée.
void setStrTitrePosition(String strTitrePosition)
Définit la valeur de strTitrePosition.
boolean isbAffichePrecSuivMC()
Retourne la valeur de bAffichePrecSuivMC.
String getStrVisibiliteBarreClassique()
Retourne le mode de visibilité de la barre classique.
Pane paneVignetteHTML
Conteneur pour la vignette de hotspot HTML.
void setiCalqueVignettes(int iCalqueVignettes)
Définit la valeur de iCalqueVignettes.
double fenetrePoliceTaille
Taille de la police dans les fenêtres en points.
int iCalqueBarrePersonnalisee
Niveau du calque pour la barre de navigation personnalisée.
AnchorPane apVisuPlan
AnchorPane pour la visualisation du plan 2D.
void setbFenetreInfoPersonnalise(boolean bFenetreInfoPersonnalise)
Définit la valeur de bFenetreInfoPersonnalise.
void setbAffichePlanetNormalMC(boolean bAffichePlanetNormalMC)
Définit la valeur de bAffichePlanetNormalMC.
void setStrDeplacementsBarrePersonnalisee(String strDeplacementsBarrePersonnalisee)
Définit la zone de la barre personnalisée affectée aux boutons de déplacement.
void setWiNouveauxMasque(WritableImage wiNouveauxMasque)
Définit la valeur de wiNouveauxMasque.
String getStrCouleurLigneRadar()
Retourne la valeur de strCouleurLigneRadar.
double getOpaciteRadar()
Retourne la valeur de opaciteRadar.
boolean bFenetreInfoPersonnalise
Indique si une image personnalisée est utilisée pour la fenêtre d'informations.
Color getCouleurFondPlan()
Retourne la valeur de couleurFondPlan.
boolean isbAfficheBoussole()
Indique si la boussole est affichée dans la visualisation.
String strPositionBoussole
Position de la boussole à l'écran (format "vertical:horizontal").
double getFenetreInfoOpacite()
Retourne la valeur de fenetreInfoOpacite.
void setOpaciteRadar(double opaciteRadar)
Définit la valeur de opaciteRadar.
String strOutilsBarreClassique
Activation des boutons d'outils dans la barre classique ("oui"/"non").
String strRepertHotSpots
Répertoire des icônes de hotspots de navigation.
void setbMasquePlan(boolean bMasquePlan)
Active ou désactive le masquage du plan.
ImageView ivPleinEcran2
ImageView pour l'icône plein écran (état 2).
Color getCouleurTexteCarte()
Retourne la valeur de couleurTexteCarte.
Slider slTailleRadar
Slider pour ajuster la taille du radar.
AnchorPane apPlan
AnchorPane pour la configuration du plan 2D.
boolean isbMasqueVignettes()
Indique si le masque masque les vignettes.
void setbMasqueTitre(boolean bMasqueTitre)
Active ou désactive le masquage du titre.
String getStrNomLayers()
Retourne la valeur de strNomLayers.
int iCalqueBarreClassique
Niveau du calque pour la barre de navigation classique.
double getOffsetYBoutonVisiteAuto()
Retourne la valeur de offsetYBoutonVisiteAuto.
BigDecimalField bdfOffsetYBoutonVisiteAuto
Champ de saisie pour le décalage vertical du bouton de visite auto.
String strRepertReseauxSociaux
Répertoire des images pour les réseaux sociaux.
boolean isbAfficheRadarCarte()
Retourne la valeur de bAfficheRadarCarte.
int getiNombreZonesBarrePersonnalisee()
Retourne le nombre de zones cliquables de la barre personnalisée.
String strInfoBarrePersonnalisee
Activation du bouton d'information dans la barre personnalisée ("oui"/"non").
RadioButton rbTopLeftBarreClassique
RadioButton pour positionner la barre classique en haut à gauche.
final ToggleGroup tgPosReseauxSociaux
ToggleGroup pour les RadioButton de position des réseaux sociaux.
boolean bAfficheRadarCarte
Indique si le radar de position est affiché sur la carte.
Color getCouleurTextePlan()
Retourne la valeur de couleurTextePlan.
String strPositionVignettes
Position des vignettes à l'écran ("left", "right", "bottom").
boolean bHotspotsPanoAgrandisDefaut
Indique si les hotspots panoramiques sont agrandis au survol par défaut.
boolean isbHotspotsHTMLAnimesDefaut()
Retourne la valeur de bHotspotsHTMLAnimesDefaut.
String strTypeAnimationPhotoDefaut
Type d'animation par défaut pour les hotspots photo.
CheckBox getCbAfficheBoutonVisiteAuto()
Retourne la valeur de cbAfficheBoutonVisiteAuto.
RadioButton rbVignettesRight
RadioButton pour positionner les vignettes à droite.
BigDecimalField bdfArrondiTL
Champs de saisie pour les rayons d'arrondi des coins des infobulles.
Slider slOpaciteRadarCarte
Slider pour ajuster l'opacité du radar de la carte.
void setStrFenetreTexteURL(String strFenetreTexteURL)
Définit la valeur de strFenetreTexteURL.
CheckBox cbHotspotsPhotoAgrandisDefaut
CheckBox pour activer l'agrandissement des hotspots photo au survol.
ImageView ivInfo
ImageView pour l'icône d'information.
double getOpaciteReseauxSociaux()
Retourne l'opacité des boutons de réseaux sociaux.
Slider slTailleHotspotsImage
Slider pour ajuster la taille des hotspots images.
double getTailleReseauxSociaux()
Retourne la taille des boutons de réseaux sociaux.
RadioButton rbVignettesBottom
RadioButton pour positionner les vignettes en bas.
String strPleinEcranBarreClassique
Activation du bouton plein écran dans la barre classique ("oui"/"non").
String getStrImageReseauxSociauxTwitter()
Retourne le nom du fichier image pour le bouton Twitter/X.
BigDecimalField bdfOffsetXBoussole
Champ de saisie pour le décalage horizontal de la boussole en pixels.
void setStyleBarreClassique(String styleBarreClassique)
Définit le style de la barre classique.
String strPositionMasque
Position du bouton de masquage (format "vertical:horizontal").
ColorPicker cpCouleurFondRadarCarte
ColorPicker pour la couleur de fond du radar de la carte.
String strCouleurTexteVignettes
Couleur du texte des vignettes au format hexadécimal.
Color getCouleurFondRadarCarte()
Retourne la valeur de couleurFondRadarCarte.
CheckBox cbAfficheBoussole
CheckBox pour activer l'affichage de la boussole.
void setbAfficheDescription(boolean bAfficheDescription)
Définit la valeur de bAfficheDescription.
void setOpaciteBarrePersonnalisee(double opaciteBarrePersonnalisee)
Définit l'opacité de la barre de navigation personnalisée.
Color getCouleurFondTheme()
Retourne la valeur de couleurFondTheme.
String getStrZoomBarreClassique()
Indique si le zoom est affiché dans la barre classique.
boolean bAfficheCarte
Indique si la carte géographique est affichée.
ImageView ivBarrePersonnalisee
ImageView affichant la barre de navigation personnalisée.
boolean bMasqueNavigation
Indique si le masquage s'applique à la barre de navigation.
final ToggleGroup tgPosVignettes
ToggleGroup pour les RadioButton de position des vignettes.
RadioButton rbTopLeftBarrePersonnalisee
RadioButton pour positionner la barre personnalisée en haut à gauche.
PixelWriter[] getPwNouveauxBoutons()
Retourne la valeur de pwNouveauxBoutons.
void setbAfficheMenuContextuel(boolean bAfficheMenuContextuel)
Définit la valeur de bAfficheMenuContextuel.
void setStrSourisBarreClassique(String strSourisBarreClassique)
Définit l'affichage du bouton de mode souris.
void setStrNomImagesBoutons(String[] strNomImagesBoutons)
Définit la valeur de strNomImagesBoutons.
String getStrImageReseauxSociauxEmail()
Retourne le nom du fichier image pour le bouton Email.
RadioButton rbPlanRight
RadioButton pour positionner le plan à droite.
RadioButton rbBottomRightBarrePersonnalisee
RadioButton pour positionner la barre personnalisée en bas à droite.
RadioButton rbLeftTitre
RadioButton pour aligner le titre à gauche.
boolean bAfficheComboMenuImages
Indique si les images sont affichées dans le menu combiné.
void setbTitrePanoramique(boolean bTitrePanoramique)
Définit la valeur de bTitrePanoramique.
CheckBox cbHotspotsHTMLAgrandisDefaut
CheckBox pour activer l'agrandissement des hotspots HTML au survol.
TextField tfFenetreURLInfobulle
TextField pour spécifier l'infobulle de l'URL.
double opaciteBoussole
Opacité de la boussole (0.0 = transparent, 1.0 = opaque).
void setTitreOpacite(double titreOpacite)
Définit l'opacité du fond du titre du panoramique.
int iCalquePlan
Niveau du calque pour l'affichage du plan 2D.
void previsualiserAnimation(ImageView imageView, String animationType, String hotspotType)
Applique une animation de prévisualisation au hotspot.
String strCouleurTitre
Couleur du texte du titre au format hexadécimal.
String strCouleurLigneRadar
Couleur de la ligne du radar au format hexadécimal.
String getStrCouleurFondRadar()
Retourne la valeur de strCouleurFondRadar.
void setOpacitePlan(double opacitePlan)
Définit la valeur de opacitePlan.
boolean isbMasqueHotspots()
Retourne la valeur de bMasqueHotspots.
void setStrNomLayers(String strNomLayers)
Définit la valeur de strNomLayers.
boolean bMasquePlan
Indique si le masquage s'applique au plan.
boolean bAfficheVignettes
Indique si les vignettes sont affichées.
double getVisualisationHeight()
Retourne la hauteur réelle de l'image de visualisation affichée.
Slider slOpaciteReseauxSociaux
Slider pour ajuster l'opacité des boutons de réseaux sociaux.
String strPositionYBoutonVisiteAuto
Position verticale du bouton de visite auto ("top", "bottom").
String getStrFenetreURLCouleur()
Retourne la valeur de strFenetreURLCouleur.
void setbAfficheComboMenu(boolean bAfficheComboMenu)
Définit la valeur de bAfficheComboMenu.
String strTypeAnimationPanoDefaut
Type d'animation par défaut pour les hotspots panoramiques.
boolean isbAiguilleMobileBoussole()
Indique si l'aiguille de la boussole doit tourner avec la vue.
ComboBox cbNiveauComboMenu
ComboBox pour sélectionner le niveau de calque du menu de panoramiques.
PaneOutil getPoDescription()
Retourne la valeur de poDescription.
String strRepertBarrePersonnalisee
Répertoire de la barre de navigation personnalisée.
CheckBox cbTitrePanoramique
CheckBox pour afficher le titre du panoramique.
boolean bMasqueBoussole
Indique si le masquage s'applique à la boussole.
double getFenetreAideOpacite()
Retourne la valeur de fenetreAideOpacite.
ZoneTelecommande[] zonesBarrePersonnalisee
Tableau des zones de télécommande de la barre personnalisée.
BigDecimalField bdfOffsetYBarreClassique
Champ de saisie pour le décalage vertical de la barre classique en pixels.
void setCouleurFondRadar(Color couleurFondRadar)
Définit la valeur de couleurFondRadar.
void setbAfficheRadar(boolean bAfficheRadar)
Définit la valeur de bAfficheRadar.
void setStrFenetreInfoImage(String strFenetreInfoImage)
Définit la valeur de strFenetreInfoImage.
double opacitePlan
Opacité du plan (0.0 = transparent, 1.0 = opaque).
ColorPicker cpCouleurBarreClassique
ColorPicker pour choisir la couleur de fond de la barre classique.
AnchorPane apCarte
AnchorPane pour la configuration de la carte géographique.
boolean isbReseauxSociauxMeta()
Retourne la valeur de bReseauxSociauxMeta.
String getStrImageMasque()
Retourne le nom du fichier image du masque utilisé.
Slider slLargeurPlan
Slider pour ajuster la largeur du plan.
void setbHotspotsPanoAnimesDefaut(boolean bHotspotsPanoAnimesDefaut)
Définit la valeur de bHotspotsPanoAnimesDefaut.
final AnchorPane apFenetreAfficheInfo
AnchorPane pour l'affichage de la fenêtre d'informations.
void setImagesFond(ImageFond[] imagesFond)
Définit la valeur de imagesFond.
AnchorPane apVisuVignettes
AnchorPane pour la visualisation des vignettes.
void setStrFenetrePolice(String strFenetrePolice)
Définit la valeur de strFenetrePolice.
void setiCalqueCarte(int iCalqueCarte)
Définit la valeur de iCalqueCarte.
CheckBox cbFSBarreClassique
CheckBox contrôlant l'affichage du bouton plein écran.
RadioButton rbMasqueBottomRight
RadioButton pour positionner le masque en bas à droite.
void setStrPositionReseauxSociaux(String strPositionReseauxSociaux)
Définit la position des boutons de réseaux sociaux.
ImageView ivHotSpotPanoramique
ImageView pour l'icône de hotspot panoramique.
ColorPicker cpCouleurTitre
ColorPicker pour la couleur du texte du titre.
double fenetreURLPosX
Position horizontale de l'URL dans la fenêtre en pixels.
boolean bReplieDemarrageCarte
Indique si la carte est repliée au démarrage.
final ExtensionsFilter IMAGE_FILTER
Filtre pour les fichiers d'image supportés (PNG, JPG, BMP, GIF).
Slider slFenetreAideOpacite
Slider pour ajuster l'opacité de la fenêtre d'aide.
static String strNomfichierHSImage
Nom du fichier du hotspot image sélectionné.
boolean bAfficheComboMenu
Indique si le menu combiné est affiché.
Slider slOpaciteInfoBulle
Slider pour ajuster l'opacité des infobulles.
double opaciteReseauxSociaux
Opacité des boutons de réseaux sociaux (0.0 = transparent, 1.0 = opaque).
void setStrPositionMasque(String strPositionMasque)
Définit la position du masque dans l'interface.
BigDecimalField bdfOffsetXReseauxSociaux
Champ de saisie pour le décalage horizontal des réseaux sociaux.
boolean isbAfficheComboMenu()
Retourne la valeur de bAfficheComboMenu.
String getStrFenetreInfoImage()
Retourne la valeur de strFenetreInfoImage.
ColorPicker cpCouleurBarrePersonnalisee
ColorPicker pour la couleur de la barre personnalisée.
boolean isbHotspotsPanoAgrandisDefaut()
Retourne la valeur de bHotspotsPanoAgrandisDefaut.
javafx.animation.Animation animationPanoEnCours
Animation en cours pour les hotspots panoramiques (pour pouvoir l'arrêter).
double getFenetreURLPosY()
Retourne la valeur de fenetreURLPosY.
double getTailleRadarCarte()
Retourne la valeur de tailleRadarCarte.
ColorPicker cpCouleurFondTheme
ColorPicker pour la couleur de fond du thème.
Slider slOpaciteTheme
Slider pour ajuster l'opacité du thème.
void setStrStyleHotSpots(String strStyleHotSpots)
Définit la valeur de strStyleHotSpots.
double fenetreInfoPosX
Position horizontale de la fenêtre d'informations en pixels.
double offsetYComboMenu
Décalage vertical du menu combiné en pixels.
double getOffsetXBarrePersonnalisee()
Retourne la valeur de offsetXBarrePersonnalisee.
final Label lblFenetreURL
Label pour afficher le lien URL dans la fenêtre.
boolean isbAfficheVignettes()
Indique si les vignettes de navigation sont affichées.
String getStrTitrePoliceStyle()
Obtient le style de la police utilisée pour le titre du panoramique.
void setStrImageReseauxSociauxTwitter(String strImageReseauxSociauxTwitter)
Définit l'image pour le bouton Twitter/X.
boolean isbHotspotsPanoAnimesDefaut()
Retourne la valeur de bHotspotsPanoAnimesDefaut.
TextField tfLien2BarrePersonnalisee
TextField pour le lien personnalisé 2.
RadioButton rbComboMenuTopCenter
RadioButton pour positionner le menu combiné en haut au centre.
boolean bMasqueCombo
Indique si le masquage s'applique au menu combiné.
ComboBox< String > cbTypeAnimationPhotoDefaut
ComboBox pour sélectionner le type d'animation des hotspots photo.
TextField tfPersURL1
TextField pour l'URL de l'option personnalisée 1.
double getOffsetYBarreClassique()
Retourne le décalage vertical de la barre classique.
void setStrCouleurFondVignettes(String strCouleurFondVignettes)
Définit la couleur de fond des vignettes.
void afficheBarrePersonnalisee()
Affiche la barre d'outils personnalisée.
double titreDecalage
Décalage vertical du titre en pixels.
int getiCalqueVisiteAuto()
Retourne la valeur de iCalqueVisiteAuto.
void afficheFenetreAide()
Affiche la fenêtre d'aide du projet.
String getStrVisibiliteBarrePersonnalisee()
Obtient la zone de la barre personnalisée affectée au bouton de visibilité.
int iTailleHotspotsHTML
Taille par défaut des hotspots HTML en pixels.
double tailleImageVignettes
Taille des images dans les vignettes en pixels.
ImageView ivVisualisation
ImageView pour la visualisation du panoramique.
CheckBox cbNiveauxCalque[]
Tableau de CheckBox pour activer/désactiver chaque niveau de calque.
ColorPicker cpCouleurFondPlan
ColorPicker pour la couleur de fond du plan.
void setbChargementEnCours(boolean bChargement)
Active ou désactive le mode chargement pour éviter les mises à jour intempestives.
boolean isbTitrePanoramique()
Retourne la valeur de bTitrePanoramique.
Slider slTailleMasque
Slider pour ajuster la taille du bouton de masquage.
void setiCalqueBarreClassique(int iCalqueBarreClassique)
Définit la valeur de iCalqueBarreClassique.
boolean isbMasqueTitre()
Indique si le masque masque le titre.
BigDecimalField bdfFenetreURLPosX
Champ de saisie pour la position X de l'URL.
void setOffsetYBoussole(double offsetYBoussole)
Définit le décalage vertical de la boussole.
boolean isbCouleurOrigineBarrePersonnalisee()
Indique si la barre personnalisée conserve ses couleurs d'origine.
String strLien1BarrePersonnalisee
Lien personnalisé 1 pour la barre personnalisée.
int iCalqueBoussole
Niveau du calque pour l'affichage de la boussole.
String strAideBarrePersonnalisee
Activation du bouton d'aide dans la barre personnalisée ("oui"/"non").
boolean bAfficheFenetreInfo
Indique si la fenêtre d'informations est affichée.
CheckBox cbAffichePersMC2
CheckBox pour activer l'option personnalisée 2 du menu contextuel.
void setOffsetYComboMenu(double offsetYComboMenu)
Définit la valeur de offsetYComboMenu.
static final double PANEL_ELEMENT_SPACING
Espacement vertical entre les éléments consécutifs dans les panels.
BigDecimalField bdfOffsetYBoussole
Champ de saisie pour le décalage vertical de la boussole en pixels.
void setStrTypeAnimationPanoDefaut(String strTypeAnimationPanoDefaut)
final ToggleGroup tgPositionBarreClassique
ToggleGroup pour les RadioButton de position de la barre classique.
CheckBox cbReseauxSociauxMeta
CheckBox pour activer le bouton Meta (Facebook).
String strCouleurLigneRadarCarte
Couleur de la ligne du radar au format hexadécimal.
String strCouleurFondRadar
Couleur de fond du radar au format hexadécimal.
void setStrTitrePoliceStyle(String strTitrePoliceStyle)
Définit le style de la police utilisée pour le titre du panoramique.
String strRotationBarreClassique
Activation des boutons de rotation dans la barre classique ("oui"/"non").
void setStrTitrePoliceNom(String strTitrePoliceNom)
Définit la valeur de strTitrePoliceNom.
TextField tfLienImageBarrePersonnalisee
TextField pour spécifier le chemin de l'image de la barre personnalisée.
void setFenetreOpaciteFond(double fenetreOpaciteFond)
Définit la valeur de fenetreOpaciteFond.
RadioButton rbBottomLeftBarrePersonnalisee
RadioButton pour positionner la barre personnalisée en bas à gauche.
double getFenetrePoliceTaille()
Retourne la valeur de fenetrePoliceTaille.
String strImageReseauxSociauxMeta
Nom du fichier image pour le bouton Meta (Facebook).
String getStrDeplacementsBarrePersonnalisee()
Obtient la zone de la barre personnalisée affectée aux boutons de déplacement.
boolean isbMasqueBoussole()
Indique si le masque masque la boussole.
final ToggleGroup tgPosBouss
ToggleGroup pour les RadioButton de position de la boussole.
int iCalqueCarte
Niveau du calque pour l'affichage de la carte géographique.
void setStrOutilsBarreClassique(String strOutilsBarreClassique)
Définit l'affichage des boutons d'outils (info, aide, etc.)
double getOffsetXBoussole()
Retourne le décalage horizontal de la boussole par rapport à sa position de référence.
ImageView ivVignetteHTMLConfig
ImageView pour la vignette de configuration des hotspots HTML.
void setStrCouleurLigneRadarCarte(String strCouleurLigneRadarCarte)
Définit la valeur de strCouleurLigneRadarCarte.
PixelWriter pwNouveauxMasque
PixelWriter pour écrire les pixels du nouveau masque.
ComboBox cbPoliceTheme
ComboBox pour sélectionner la police du thème.
CheckBox cbRotationBarreClassique
CheckBox contrôlant l'affichage des boutons de rotation.
void setStrPositionBarrePersonnalisee(String strPositionBarrePersonnalisee)
Définit la position de la barre de navigation personnalisée sur l'écran.
String strPositionXBoutonVisiteAuto
Position horizontale du bouton de visite auto ("left", "right").
ComboBox cbImage
ComboBox pour sélectionner l'image de fond.
void setStrTypeAnimationHTMLDefaut(String strTypeAnimationHTMLDefaut)
String getStrInfoBarrePersonnalisee()
Obtient la zone de la barre personnalisée affectée au bouton d'information.
ImageView ivZoomPlus
ImageView pour l'icône de zoom plus.
String strCouleurFondInfoBulle
Couleur de fond des infobulles au format hexadécimal.
int iCalqueSuivPrec
Niveau du calque pour les boutons Suivant/Précédent.
CheckBox cbTitreVisite
CheckBox pour afficher le titre de la visite.
static String strTypeHS
Type du hotspot sélectionné (navigation, image, HTML).
void setbAfficheBoutonVisiteAuto(boolean bAfficheBoutonVisiteAuto)
Définit la valeur de bAfficheBoutonVisiteAuto.
String strVisibiliteBarrePersonnalisee
Visibilité initiale de la barre personnalisée ("oui"/"non").
Pane paneVignettePano
Conteneur pour la vignette de hotspot panoramique.
double fenetreURLPosY
Position verticale de l'URL dans la fenêtre en pixels.
AnchorPane apVisuComboMenu
AnchorPane pour la visualisation du menu combiné.
CheckBox cbMasquePlan
CheckBox pour activer le masquage du plan.
ColorPicker cpCouleurMasques
ColorPicker pour la couleur des masques.
double tailleRadarCarte
Taille du radar en mètres (x3 par rapport à 20m).
static String strNomfichierHS
Nom du fichier du hotspot de navigation sélectionné.
void setbHotspotsPhotoAnimesDefaut(boolean bHotspotsPhotoAnimesDefaut)
Définit la valeur de bHotspotsPhotoAnimesDefaut.
CheckBox cbAfficheMasque
CheckBox pour activer l'affichage du bouton de masquage.
CheckBox cbRotationBarrePersonnalisee
CheckBox contrôlant l'affichage des boutons de rotation.
String strStyleHotSpotImages
Style par défaut pour les hotspots d'images.
double getdXReseauxSociaux()
Retourne le décalage horizontal des réseaux sociaux par rapport à leur position de référence.
int iArrondiTL
Rayons d'arrondi des coins des infobulles (TL=TopLeft, TR=TopRight, BL=BottomLeft,...
PixelReader[] getPrLisBoutons()
Retourne la valeur de prLisBoutons.
boolean bTemplate
Indique si un template est en cours d'application.
ImageView ivBas
ImageView pour l'icône de déplacement vers le bas.
double ouvertureRadarCarte
Ouverture angulaire du radar en degrés.
BigDecimalField bdfFenetreInfoPosX
Champ de saisie pour la position X de la fenêtre d'informations.
void setOffsetXBoutonVisiteAuto(double offsetXBoutonVisiteAuto)
Définit la valeur de offsetXBoutonVisiteAuto.
double tailleIconesBarrePersonnalisee
Taille des icônes dans la barre personnalisée en pixels.
void setbReplieDemarrageVignettes(boolean bReplieDemarrageVignettes)
ComboBox cbNiveauTitre
ComboBox pour sélectionner le niveau de calque du titre.
String getStrPleinEcranBarrePersonnalisee()
Obtient la zone de la barre personnalisée affectée au bouton plein écran.
double tailleBoutonVisiteAuto
Taille du bouton de visite automatique en pixels.
String strFenetreURLInfobulle
Texte de l'infobulle pour le lien URL.
void setStrLien1BarrePersonnalisee(String strLien1BarrePersonnalisee)
Définit le chemin vers le fichier SHP (shapefile) définissant les zones de la barre.
double getFenetreAidePosY()
Retourne la valeur de fenetreAidePosY.
String getStrCouleurTitre()
Obtient la couleur du texte du titre du panoramique.
CheckBox cbBarrePersonnaliseeVisible
CheckBox contrôlant la visibilité de la barre personnalisée.
void afficheTemplate()
Affiche l'interface selon le template actuel.
boolean bCouleurOrigineBarrePersonnalisee
Indique si la couleur d'origine de la barre personnalisée est utilisée.
Slider slOpaciteCarte
Slider pour ajuster l'opacité de la carte.
void rafraichit()
Rafraîchit l'affichage complet de l'interface utilisateur.
RadioButton rbPlanLeft
RadioButton pour positionner le plan à gauche.
boolean isbMasquePlan()
Indique si le masque masque le plan.
double opaciteMasque
Opacité du bouton de masquage (0.0 = transparent, 1.0 = opaque).
String getStrPositionXComboMenu()
Retourne la valeur de strPositionXComboMenu.
RadioButton rbComboMenuBottomLeft
RadioButton pour positionner le menu combiné en bas à gauche.
ToggleGroup tgPosBoutonVisiteAuto
ToggleGroup pour les RadioButton de position du bouton visite auto.
double dYMasque
Décalage vertical du bouton de masquage en pixels.
final ToggleGroup tgPosMasque
ToggleGroup pour les RadioButton de position du masque.
ColorPicker cpCouleurTexteVignettes
ColorPicker pour la couleur du texte des vignettes.
void setbAffichePrecSuivMC(boolean bAffichePrecSuivMC)
Définit la valeur de bAffichePrecSuivMC.
AnchorPane apMenuContextuel
AnchorPane pour la configuration du menu contextuel.
String getStrTitrePoliceNom()
Retourne la valeur de strTitrePoliceNom.
String getStrCouleurTexteCarte()
Retourne la valeur de strCouleurTexteCarte.
RadioButton rbBoutonVisiteAutoBottomRight
RadioButton pour positionner le bouton visite auto en bas à droite.
PixelReader getPrLisMasque()
Retourne la valeur de prLisMasque.
AnchorPane apVignettes
AnchorPane pour gérer l'affichage des vignettes.
BigDecimalField bdfTitreDecalage
Champ de saisie pour le décalage vertical du titre.
void setiCalqueVisiteAuto(int iCalqueVisiteAuto)
Définit la valeur de iCalqueVisiteAuto.
double getdXMasque()
Retourne le décalage horizontal du masque par rapport à sa position de référence.
PixelReader prLisMasque
PixelReader pour lire les pixels du masque original.
String getStrImageBoussole()
Retourne le nom du fichier image de la boussole utilisée.
String strRepertBoutonsPrincipal
Répertoire des boutons principaux.
BigDecimalField bdfOffsetXBoutonVisiteAuto
Champ de saisie pour le décalage horizontal du bouton de visite auto.
CheckBox cbAffichePlanetNormalMC
CheckBox pour afficher les options Planet/Normal dans le menu contextuel.
double opaciteCarte
Opacité de la carte (0.0 = transparent, 1.0 = opaque).
String strPositionReseauxSociaux
Position des boutons de réseaux sociaux (format "vertical:horizontal").
RadioButton rbTopRightBarrePersonnalisee
RadioButton pour positionner la barre personnalisée en haut à droite.
void setFenetreInfoOpacite(double fenetreInfoOpacite)
Définit la valeur de fenetreInfoOpacite.
void setStrStyleHotSpotImages(String strStyleHotSpotImages)
Définit la valeur de strStyleHotSpotImages.
void setFenetreAidePosY(double fenetreAidePosY)
Définit la valeur de fenetreAidePosY.
void setStrPositionYBoutonVisiteAuto(String strPositionYBoutonVisiteAuto)
double getFenetreURLPosX()
Retourne la valeur de fenetreURLPosX.
TextField tfPersLib2
TextField pour le libellé de l'option personnalisée 2.
double angleRadarCarte
Angle du radar sur la carte en degrés.
double getOffsetXBoutonVisiteAuto()
Retourne la valeur de offsetXBoutonVisiteAuto.
void setbTitreVisite(boolean bTitreVisite)
Définit la valeur de bTitreVisite.
void setiCalquePlan(int iCalquePlan)
Définit la valeur de iCalquePlan.
boolean bAfficheBoutonVisiteAuto
Indique si le bouton de visite automatique est affiché.
List< String > listeNiveau
Liste des noms des niveaux de calques disponibles.
double getOpaciteCarte()
Retourne la valeur de opaciteCarte.
String strCouleurBordureInfoBulle
Couleur de la bordure des infobulles au format hexadécimal.
int iTailleHotspotsImage
Taille par défaut des hotspots images en pixels.
AnchorPane apVisuMenuContextuel
AnchorPane pour la visualisation du menu contextuel.
void setbAffichePersMC2(boolean bAffichePersMC2)
Définit la valeur de bAffichePersMC2.
RadioButton rbBottomLeftBarreClassique
RadioButton pour positionner la barre classique en bas à gauche.
final ToggleGroup tgPosTitre
ToggleGroup pour les RadioButton de position du titre.
void setStrCouleurFondCarte(String strCouleurFondCarte)
Définit la valeur de strCouleurFondCarte.
Color couleurBarreClassique
Couleur de fond de la barre de navigation classique.
boolean isbAfficheRadar()
Retourne la valeur de bAfficheRadar.
void setbReseauxSociauxEmail(boolean bReseauxSociauxEmail)
Définit la valeur de bReseauxSociauxEmail.
String getStrSourisBarreClassique()
Indique si le mode souris est affiché dans la barre classique.
boolean isbSuivantPrecedent()
Retourne la valeur de bSuivantPrecedent.
BigDecimalField bdfOffsetYComboMenu
Champ de saisie pour le décalage vertical du menu combiné.
void setStrFenetreURLInfobulle(String strFenetreURLInfobulle)
Définit la valeur de strFenetreURLInfobulle.
Pane paneVignetteImage
Conteneur pour la vignette de hotspot image.
double fenetreAideTaille
Taille de la fenêtre d'aide en pourcentage.
String getStrPositionCarte()
Retourne la valeur de strPositionCarte.
void setOffsetYBarreClassique(double offsetYBarreClassique)
Définit le décalage vertical de la barre classique.
HBox hbDeplacements
HBox contenant les boutons de déplacement.
void setStrFenetreCouleurFond(String strFenetreCouleurFond)
Définit la valeur de strFenetreCouleurFond.
ComboBox< String > cbTypeAnimationPanoDefaut
ComboBox pour sélectionner le type d'animation des hotspots panoramiques.
double espacementBarreClassique
Espacement entre les boutons de la barre de navigation classique en pixels.
String getStrFenetreTexteURL()
Retourne la valeur de strFenetreTexteURL.
Label lblTxtTitre
Label pour le texte du titre (ligne 1).
boolean bHotspotsPhotoAnimesDefaut
Indique si les hotspots photo sont animés par défaut.
Slider slFenetreInfoTaille
Slider pour ajuster la taille de la fenêtre d'informations.
void setOpaciteReseauxSociaux(double opaciteReseauxSociaux)
Définit l'opacité des boutons de réseaux sociaux.
void setStrCouleurTextePlan(String strCouleurTextePlan)
Définit la valeur de strCouleurTextePlan.
String strCouleurFondPlan
Couleur de fond du plan au format hexadécimal.
double opaciteBarrePersonnalisee
Opacité de la barre personnalisée (0.0 = transparent, 1.0 = opaque).
BigDecimalField bdfTailleBordureTop
Champs de saisie pour les épaisseurs des bordures des infobulles.
void setStrPositionXComboMenu(String strPositionXComboMenu)
Définit la valeur de strPositionXComboMenu.
void reOrdonneElementsCalque()
Réordonne les éléments d'interface selon les calques.
void setbTitreAdapte(boolean bTitreAdapte)
Définit la valeur de bTitreAdapte.
TextField tfPersLib1
TextField pour le libellé de l'option personnalisée 1.
String strFenetrePolice
Police utilisée dans les fenêtres.
ImageView[] ivImageFond
Tableau des ImageView pour l'affichage des images de fond.
boolean bTitrePanoramique
Indique si le titre du panoramique actuel s'affiche.
RadioButton rbBoussBottomLeft
RadioButton pour positionner la boussole en bas à gauche.
CheckBox cbMasqueBoussole
CheckBox pour activer le masquage de la boussole.
CheckBox cbAfficheDescription
CheckBox pour activer/désactiver l'affichage de la description.
ColorPicker cpCouleurTexteCarte
ColorPicker pour la couleur du texte de la carte.
RadioButton rbCarteLeft
RadioButton pour positionner la carte à gauche.
CheckBox cbMasqueTitre
CheckBox pour activer le masquage du titre.
void setdXMasque(double dXMasque)
Définit le décalage horizontal du masque.
AnchorPane apCalque
AnchorPane contenant l'interface de gestion des calques.
void setStrZoomBarrePersonnalisee(String strZoomBarrePersonnalisee)
Définit la zone de la barre personnalisée affectée aux boutons de zoom.
RadioButton rbMiddleLeftBarrePersonnalisee
RadioButton pour positionner la barre personnalisée au milieu à gauche.
String getStrPleinEcranBarreClassique()
Indique si le plein écran est affiché dans la barre classique.
int getiCalqueBarreClassique()
Retourne la valeur de iCalqueBarreClassique.
void chargeBarrePersonnalisee(String strNomFichier)
Charge une barre personnalisée depuis un fichier.
CheckBox cbBarreClassiqueVisible
CheckBox contrôlant la visibilité de la barre classique.
Label lblInfoBulle
Label de test pour prévisualiser le style des infobulles.
void setStrVisibiliteBarrePersonnalisee(String strVisibiliteBarrePersonnalisee)
Définit la zone de la barre personnalisée affectée au bouton de visibilité.
void setPrLisMasque(PixelReader prLisMasque)
Définit la valeur de prLisMasque.
boolean isbTitreVisite()
Retourne la valeur de bTitreVisite.
String getStrRotationBarrePersonnalisee()
Obtient la zone de la barre personnalisée affectée aux boutons de rotation.
int getiCalqueBoussole()
Retourne la valeur de iCalqueBoussole.
String getStrOutilsBarreClassique()
Indique si les outils sont affichés dans la barre classique.
int iTailleHotspotsPanoramique
Taille par défaut des hotspots panoramiques en pixels.
double getOffsetXBarreClassique()
Retourne le décalage horizontal de la barre classique.
void setImgBoutons(Image[] imgBoutons)
Définit la valeur de imgBoutons.
String strPersLib2
Libellé de l'option personnalisée 2 du menu contextuel.
double fenetreInfoPosY
Position verticale de la fenêtre d'informations en pixels.
boolean bAffichePrecSuivMC
Indique si les options Précédent/Suivant sont affichées dans le menu contextuel.
boolean isbAffichePersMC2()
Retourne la valeur de bAffichePersMC2.
void setStrPleinEcranBarrePersonnalisee(String strPleinEcranBarrePersonnalisee)
Définit la zone de la barre personnalisée affectée au bouton plein écran.
double offsetXBarrePersonnalisee
Décalage horizontal de la barre personnalisée en pixels.
Slider sltailleBarrePersonnalisee
Slider pour ajuster la taille de la barre personnalisée.
boolean isbTitreAdapte()
Retourne la valeur de bTitreAdapte.
void setbAfficheComboMenuImages(boolean bAfficheComboMenuImages)
Définit la valeur de bAfficheComboMenuImages.
String getStrCouleurFondCarte()
Retourne la valeur de strCouleurFondCarte.
boolean bMasqueHotspots
Indique si le masquage s'applique aux hotspots.
RadioButton rbMasqueTopRight
RadioButton pour positionner le masque en haut à droite.
RadioButton rbBottomCenterBarreClassique
RadioButton pour positionner la barre classique en bas au centre.
String getStrStyleDefautBarreClassique()
Retourne le style par défaut de la barre classique.
CheckBox cbMasqueCombo
CheckBox pour activer le masquage du menu combiné.
String getStrPositionXBoutonVisiteAuto()
Retourne la valeur de strPositionXBoutonVisiteAuto.
void setStrPersLib2(String strPersLib2)
Définit la valeur de strPersLib2.
void setiNombreZonesBarrePersonnalisee(int iNombreZonesBarrePersonnalisee)
Définit le nombre de zones cliquables de la barre personnalisée.
boolean isbHotspotsPhotoAgrandisDefaut()
Retourne la valeur de bHotspotsPhotoAgrandisDefaut.
void miseAJourMarqueursEtRadarCarte()
Méthode privée pour mettre à jour les marqueurs et le radar sur la carte Appelée soit par le callback...
final ToggleGroup tgPosCarte
ToggleGroup pour les RadioButton de position de la carte.
ZoneTelecommande[] getZonesBarrePersonnalisee()
Retourne la valeur de zonesBarrePersonnalisee.
ImageView ivVignetteImageConfig
ImageView pour la vignette de configuration des hotspots images.
boolean bAfficheFenetreAide
Indique si la fenêtre d'aide est affichée.
Color getCouleurLigneRadarCarte()
Retourne la valeur de couleurLigneRadarCarte.
boolean isbMasqueNavigation()
Indique si le masque masque la barre de navigation.
String getStyleBarreClassique()
Retourne le style actuel de la barre classique.
void setbMasqueVignettes(boolean bMasqueVignettes)
Active ou désactive le masquage des vignettes.
void setFenetrePoliceTaille(double fenetrePoliceTaille)
Définit la valeur de fenetrePoliceTaille.
void setiNombreImagesBouton(int iNombreImagesBouton)
Définit la valeur de iNombreImagesBouton.
ImageView imgAiguille
ImageView affichant l'aiguille de la boussole.
int getiNombreImagesBouton()
Retourne la valeur de iNombreImagesBouton.
void setCouleurFondCarte(Color couleurFondCarte)
Définit la valeur de couleurFondCarte.
boolean isbReseauxSociauxEmail()
Retourne la valeur de bReseauxSociauxEmail.
BigDecimalField bdfOffsetYreseauxSociaux
Champ de saisie pour le décalage vertical des réseaux sociaux.
Slider slTailleBoussole
Slider pour ajuster la taille de la boussole.
int getiNombreImagesFond()
Retourne la valeur de iNombreImagesFond.
AnchorPane apHotSpots1
AnchorPane pour le panel de configuration des hotspots panoramiques.
boolean bAfficheBoussole
Indique si la boussole est affichée.
void setbAfficheBoussole(boolean bAfficheBoussole)
Active ou désactive l'affichage de la boussole dans la visualisation.
CheckBox cbAfficheVignettes
CheckBox pour activer l'affichage des vignettes.
RadioButton rbBoutonVisiteAutoTopLeft
RadioButton pour positionner le bouton visite auto en haut à gauche.
void setbHotspotsHTMLAgrandisDefaut(boolean bHotspotsHTMLAgrandisDefaut)
Définit la valeur de bHotspotsHTMLAgrandisDefaut.
ColorPicker cpCouleurLigneRadar
ColorPicker pour la couleur de la ligne du radar.
ImageView ivAutoRotation
ImageView pour l'icône de rotation automatique.
CheckBox cbFenetreAidePersonnalise
CheckBox pour activer l'image personnalisée de la fenêtre d'aide.
ColorPicker cpCouleurBordureInfoBulle
ColorPicker pour la couleur de bordure des infobulles.
String strDeplacementsBarrePersonnalisee
Activation des boutons de déplacement dans la barre personnalisée ("oui"/"non").
AnchorPane apImageFond
AnchorPane pour les images de fond.
String getStrCouleurFondPlan()
Retourne la valeur de strCouleurFondPlan.
boolean isbAfficheBoutonVisiteAuto()
Retourne la valeur de bAfficheBoutonVisiteAuto.
double dXReseauxSociaux
Décalage horizontal des boutons de réseaux sociaux en pixels.
ComboBox cbNiveauMasque
ComboBox pour sélectionner le niveau de calque du masque.
String strTitrePosition
Position horizontale du titre ("left", "center", "right").
boolean bChargementEnCours
Indique si un chargement est en cours (blocage des interactions).
String strCouleurFondVignettes
Couleur de fond des vignettes au format hexadécimal.
AnchorPane apBoutonVisiteAuto
AnchorPane pour le bouton de visite automatique.
CheckBox cbMasqueNavigation
CheckBox pour activer le masquage de la navigation.
BigDecimalField bdfOffsetYMasque
Champ de saisie pour le décalage vertical du masque.
ImageView ivVignettePanoConfig
ImageView pour la vignette de configuration des hotspots panoramiques.
String strCouleurTextePlan
Couleur du texte du plan au format hexadécimal.
double getOpaciteVignettes()
Retourne l'opacité des vignettes.
void setStrPersLib1(String strPersLib1)
Définit la valeur de strPersLib1.
double getHauteurCarte()
Retourne la valeur de hauteurCarte.
void setbAffichePersMC1(boolean bAffichePersMC1)
Définit la valeur de bAffichePersMC1.
void setApVis(AnchorPane apVis)
Définit la valeur de apVis.
void setbAfficheReseauxSociaux(boolean bAfficheReseauxSociaux)
Active ou désactive l'affichage des boutons de réseaux sociaux.
ImageFond[] getImagesFond()
Retourne la valeur de imagesFond.
void setStrCouleurLigneRadar(String strCouleurLigneRadar)
Définit la valeur de strCouleurLigneRadar.
ComboBox cbNiveauVisiteAuto
ComboBox pour sélectionner le niveau de calque du bouton de visite auto.
void setOpaciteCarte(double opaciteCarte)
Définit la valeur de opaciteCarte.
RadioButton rbComboMenuTopLeft
RadioButton pour positionner le menu combiné en haut à gauche.
void setStrCouleurFondTitre(String strCouleurFondTitre)
Définit la couleur de fond du titre du panoramique.
BigDecimalField bdfOffsetXMasque
Champ de saisie pour le décalage horizontal du masque.
BigDecimalField bdfOffsetXBarrePersonnalisee
Champ de saisie pour le décalage horizontal de la barre personnalisée.
boolean bAffichePersMC1
Indique si l'option personnalisée 1 est affichée dans le menu contextuel.
double titreOpacite
Opacité du fond du titre (0.0 = transparent, 1.0 = opaque).
boolean isbAffichePersMC1()
Retourne la valeur de bAffichePersMC1.
RadioButton rbBoussTopRight
RadioButton pour positionner la boussole en haut à droite.
double getTailleBarreClassique()
Retourne la taille des icônes de la barre classique.
Slider slZoomCarte
Slider pour ajuster le niveau de zoom de la carte.
String getStrFenetreURLInfobulle()
Retourne la valeur de strFenetreURLInfobulle.
String strZoomBarreClassique
Activation des boutons de zoom dans la barre classique ("oui"/"non").
void setApBtnVA(AnchorPane apBtnVA)
Définit la valeur de apBtnVA.
CheckBox cbAfficheComboMenuImages
CheckBox pour activer l'affichage des images dans le menu combiné.
static String strTypeHSHTML
Type du hotspot HTML sélectionné.
void afficheBoutonVisiteAuto()
Affiche le bouton de visite automatique.
boolean isbAfficheCarte()
Retourne la valeur de bAfficheCarte.
RadioButton rbMasqueTopLeft
RadioButton pour positionner le masque en haut à gauche.
void setbMasqueSuivPrec(boolean bMasqueSuivPrec)
Définit la valeur de bMasqueSuivPrec.
void changeCouleurBarrePersonnalisee(double couleurFinale, double sat, double bright)
ImageView ivBtnVisiteAuto
ImageView affichant l'icône du bouton de visite automatique.
void setTailleImageVignettes(double tailleImageVignettes)
Définit la taille des images dans les vignettes.
void setStrStyleHotSpotHTML(String strStyleHotSpotHTML)
Définit la valeur de strStyleHotSpotHTML.
ColorPicker cpCouleurHotspotsPhoto
ColorPicker pour la couleur des hotspots photo.
ImageView ivHaut
ImageView pour l'icône de déplacement vers le haut.
double tailleBarrePersonnalisee
Taille de la barre personnalisée en pourcentage.
void mettreAJourCouleursHotspots()
Met à jour les couleurs de fond des panneaux d'icônes de hotspots selon le thème actuel (clair ou som...
Slider sltailleIconesBarrePersonnalisee
Slider pour ajuster la taille des icônes de la barre personnalisée.
CheckBox cbAfficheCarte
CheckBox pour activer l'affichage de la carte.
AnchorPane apBtnVA
AnchorPane contenant le bouton de visite automatique.
String strLien2BarrePersonnalisee
Lien personnalisé 2 pour la barre personnalisée.
CheckBox cbFenetreInfoPersonnalise
CheckBox pour activer l'image personnalisée de la fenêtre d'informations.
void setTailleBoussole(double tailleBoussole)
Définit la taille de la boussole.
int iNombreZonesBarrePersonnalisee
Nombre de zones interactives définies dans la barre personnalisée.
String getStrLien2BarrePersonnalisee()
Obtient le second lien associé à la barre personnalisée.
double offsetYBarreClassique
Décalage vertical de la barre de navigation classique en pixels.
boolean bAiguilleMobileBoussole
Indique si l'aiguille de la boussole est mobile (rotation selon l'angle de vue).
boolean bFenetreAidePersonnalise
Indique si une image personnalisée est utilisée pour la fenêtre d'aide.
boolean isbAfficheTitre()
Retourne la valeur de bAfficheTitre.
boolean bReseauxSociauxEmail
Indique si le bouton Email est activé.
AnchorPane apVisualisation
AnchorPane pour la visualisation du panoramique.
ImageView ivZoomMoins
ImageView pour l'icône de zoom moins.
String strCouleurTexteCarte
Couleur du texte de la carte au format hexadécimal.
boolean bHotspotsHTMLAgrandisDefaut
Indique si les hotspots HTML sont agrandis au survol par défaut.
Slider slTaillePoliceTitre
Slider pour ajuster la taille de la police du titre.
void chargeBarre(String strStyleBarre, String strHotSpot, String strMA)
boolean bHotspotsHTMLAnimesDefaut
Indique si les hotspots HTML sont animés par défaut.
final int iNombreCalques
Nombre maximum de niveaux de calques disponibles.
CheckBox cbMasqueHotspots
CheckBox pour activer le masquage des hotspots.
String strImageReseauxSociauxTwitter
Nom du fichier image pour le bouton Twitter/X.
CheckBox cbHotspotsPanoAgrandisDefaut
CheckBox pour activer l'agrandissement des hotspots panoramiques au survol.
void setbMasqueReseaux(boolean bMasqueReseaux)
Active ou désactive le masquage des réseaux sociaux.
void setFenetreAideOpacite(double fenetreAideOpacite)
Définit la valeur de fenetreAideOpacite.
javafx.animation.Animation animationPhotoEnCours
Animation en cours pour les hotspots photo (pour pouvoir l'arrêter).
void setbAfficheVignettes(boolean bAfficheVignettes)
Active ou désactive l'affichage des vignettes de navigation.
ComboBox cbNiveauBarrePersonnalisee
ComboBox pour sélectionner le niveau de calque de la barre personnalisée.
double getTailleImageVignettes()
Retourne la taille des images dans les vignettes.
RadioButton rbBoutonVisiteAutoTopCenter
RadioButton pour positionner le bouton visite auto en haut au centre.
int getiFacteurZoomCarte()
Retourne la valeur de iFacteurZoomCarte.
boolean bAfficheMenuContextuel
Indique si le menu contextuel est affiché.
CoordonneesGeographiques coordCentreCarte
Coordonnées géographiques du centre de la carte.
PixelReader[] prLisBoutons
Tableau des PixelReader pour lire les pixels des boutons originaux.
RadioButton rbMiddleRightBarreClassique
RadioButton pour positionner la barre classique au milieu à droite.
boolean bReseauxSociauxMeta
Indique si le bouton Meta (Facebook) est activé.
void setTailleIconesBarrePersonnalisee(double tailleIconesBarrePersonnalisee)
Définit la taille des icônes affichées dans la barre personnalisée.
boolean carteEnCoursDeChargement
Flag pour éviter les re-configurations multiples de la carte.
int getiTailleHotspotsHTML()
Retourne la valeur de iTailleHotspotsHTML.
double tailleBarreClassique
Taille des boutons de la barre de navigation classique en pixels.
ComboBox cbNiveauPlan
ComboBox pour sélectionner le niveau de calque du plan.
String getStrPositionYComboMenu()
Retourne la valeur de strPositionYComboMenu.
void setOpaciteRadarCarte(double opaciteRadarCarte)
Définit la valeur de opaciteRadarCarte.
PixelWriter[] pwNouveauxBoutons
Tableau des PixelWriter pour écrire les pixels des nouveaux boutons.
String getStrCouleurFondRadarCarte()
Retourne la valeur de strCouleurFondRadarCarte.
void setbReseauxSociauxMeta(boolean bReseauxSociauxMeta)
Définit la valeur de bReseauxSociauxMeta.
double fenetreAidePosY
Position verticale de la fenêtre d'aide en pixels.
String strZoomBarrePersonnalisee
Activation des boutons de zoom dans la barre personnalisée ("oui"/"non").
RadioButton rbComboMenuTopRight
RadioButton pour positionner le menu combiné en haut à droite.
WritableImage[] getWiNouveauxBoutons()
Retourne la valeur de wiNouveauxBoutons.
void setFenetreURLPosX(double fenetreURLPosX)
Définit la valeur de fenetreURLPosX.
TextField tfFenetreInfoImage
TextField pour spécifier l'image de la fenêtre d'informations.
void setFenetreInfoposX(double fenetreInfoposX)
Définit la valeur de fenetreInfoposX.
ColorPicker cpCouleurFondInfoBulle
ColorPicker pour la couleur de fond des infobulles.
void setStrPositionYComboMenu(String strPositionYComboMenu)
Définit la valeur de strPositionYComboMenu.
String strPersURL2
URL de l'option personnalisée 2 du menu contextuel.
double tailleMasque
Taille du bouton de masquage en pixels.
CheckBox getCbAfficheDescription()
Retourne la valeur de cbAfficheDescription.
String strCouleurFondCarte
Couleur de fond de la carte au format hexadécimal.
String getStrSourisBarrePersonnalisee()
Obtient la zone de la barre personnalisée affectée au bouton de la souris.
String getStrCouleurTextePlan()
Retourne la valeur de strCouleurTextePlan.
double offsetYBarrePersonnalisee
Décalage vertical de la barre personnalisée en pixels.
void setTailleRadarCarte(double tailleRadarCarte)
Définit la valeur de tailleRadarCarte.
boolean isbMasqueCombo()
Indique si le masque masque le menu déroulant (combo).
double getOpaciteTheme()
Retourne la valeur de opaciteTheme.
CheckBox cbReseauxSociauxEmail
CheckBox pour activer le bouton Email.
ColorPicker cpCouleurFondRadar
ColorPicker pour la couleur de fond du radar.
double offsetXBoussole
Décalage horizontal de la boussole en pixels.
static String strNomfichierHSHTML
Nom du fichier du hotspot HTML sélectionné.
String strDeplacementsBarreClassique
Activation des boutons de déplacement dans la barre classique ("oui"/"non").
double fenetreInfoposX
Position horizontale alternative de la fenêtre d'informations en pixels.
double getOpaciteBoussole()
Retourne l'opacité de la boussole.
double titreTaille
Taille du titre en pourcentage de la largeur de l'écran.
CheckBox cbAffichePrecSuivMC
CheckBox pour afficher les options Précédent/Suivant dans le menu contextuel.
double getOpaciteBarrePersonnalisee()
Obtient l'opacité de la barre de navigation personnalisée.
BigDecimalField bdfOffsetXBarreClassique
Champ de saisie pour le décalage horizontal de la barre classique en pixels.
CheckBox cbAfficheRadar
CheckBox pour activer l'affichage du radar sur le plan.
int iCalqueTitre
Niveau du calque (z-order) pour l'affichage du titre du panoramique.
double getVisualisationWidth()
Retourne la largeur réelle de l'image de visualisation affichée.
Slider slFenetrePoliceTaille
Slider pour ajuster la taille de la police des fenêtres.
Slider slFenetreAideTaille
Slider pour ajuster la taille de la fenêtre d'aide.
void changeCouleurHS(double couleurFinale, double sat, double bright)
RadioButton rbTopCenterBarreClassique
RadioButton pour positionner la barre classique en haut au centre.
final ExtensionsFilter PNG_FILTER
Filtre pour les fichiers PNG uniquement.
double getEspacementBarreClassique()
Retourne l'espacement entre les icônes de la barre classique.
String getStrPositionPlan()
Retourne la valeur de strPositionPlan.
void setStrCouleurTexteVignettes(String strCouleurTexteVignettes)
Définit la couleur du texte des vignettes.
double getOffsetYBarrePersonnalisee()
Retourne la valeur de offsetYBarrePersonnalisee.
Button btnEditerBarre
Bouton pour éditer la barre de navigation personnalisée.
void setStrFenetreURLCouleur(String strFenetreURLCouleur)
Définit la valeur de strFenetreURLCouleur.
static final double PANEL_TOP_MARGIN
Marge supérieure des premiers éléments dans les panels de configuration.
Slider slLargeurCarte
Slider pour ajuster la largeur de la carte.
void setStrZoomBarreClassique(String strZoomBarreClassique)
Définit l'affichage des boutons de zoom.
ImageView ivDroite
ImageView pour l'icône de déplacement vers la droite.
Slider slOpacitePlan
Slider pour ajuster l'opacité du plan.
void setStrImageMasque(String strImageMasque)
Définit l'image du masque à afficher.
CheckBox cbReplieDemarrageVignettes
CheckBox pour activer le repliement au démarrage.
void setStrImageReseauxSociauxMeta(String strImageReseauxSociauxMeta)
Définit l'image pour le bouton Facebook/Meta.
void setFenetreInfoPosX(double fenetreInfoPosX)
Définit la valeur de fenetreInfoPosX.
void setiCalqueMasquage(int iCalqueMasquage)
Définit la valeur de iCalqueMasquage.
ImageView ivHotSpotHTML
ImageView pour l'icône de hotspot HTML.
RadioButton rbRightTitre
RadioButton pour aligner le titre à droite.
CoordonneesGeographiques getCoordCentreCarte()
Retourne la valeur de coordCentreCarte.
Slider slTailleVignettes
Slider pour ajuster la taille des vignettes.
double getOpaciteRadarCarte()
Retourne la valeur de opaciteRadarCarte.
ComboBox< String > cbTypeAnimationHTMLDefaut
ComboBox pour sélectionner le type d'animation des hotspots HTML.
AnchorPane apHotSpots3
AnchorPane pour le panel de configuration des hotspots HTML.
void setStrCouleurTitre(String strCouleurTitre)
Définit la couleur du texte du titre du panoramique.
void setEspacementBarreClassique(double espacementBarreClassique)
Définit l'espacement entre les icônes de la barre classique.
double offsetXComboMenu
Décalage horizontal du menu combiné en pixels.
PixelWriter getPwNouveauxMasque()
Retourne la valeur de pwNouveauxMasque.
Pane paneFondPrecedent
Pane de fond pour le bouton Précédent.
boolean isbAfficheMasque()
Indique si le masque est affiché dans la visualisation.
double tailleReseauxSociaux
Taille des boutons de réseaux sociaux en pixels.
ColorPicker cpFenetreURLCouleur
ColorPicker pour la couleur du lien URL.
void setiTailleHotspotsHTML(int iTailleHotspotsHTML)
Définit la valeur de iTailleHotspotsHTML.
int iCalqueVignettes
Niveau du calque pour l'affichage des vignettes de navigation.
CheckBox cbAfficheMenuContextuel
CheckBox pour activer l'affichage du menu contextuel.
void setStrCouleurFondRadarCarte(String strCouleurFondRadarCarte)
Définit la valeur de strCouleurFondRadarCarte.
void setStrTypeAnimationPhotoDefaut(String strTypeAnimationPhotoDefaut)
AnchorPane apComboMenu
AnchorPane pour gérer l'affichage du menu combiné.
void setbAfficheRadarCarte(boolean bAfficheRadarCarte)
Définit la valeur de bAfficheRadarCarte.
double offsetXBarreClassique
Décalage horizontal de la barre de navigation classique en pixels.
int iCalqueVisiteAuto
Niveau du calque pour le bouton de visite automatique.
ImageView ivGauche
ImageView pour l'icône de déplacement vers la gauche.
double dXMasque
Décalage horizontal du bouton de masquage en pixels.
Color getCouleurFondCarte()
Retourne la valeur de couleurFondCarte.
void changeCouleurMasque(double couleurFinale, double sat, double bright)
void setStrAideBarrePersonnalisee(String strAideBarrePersonnalisee)
Définit la zone de la barre personnalisée affectée au bouton d'aide.
double getdYReseauxSociaux()
Retourne le décalage vertical des réseaux sociaux par rapport à leur position de référence.
void styleInfoBulle()
Applique le style CSS personnalisé à l'infobulle (label).
PaneOutil poDescription
PaneOutil pour gérer l'affichage de la description.
double getFenetreAideTaille()
Retourne la valeur de fenetreAideTaille.
void setbHotspotsPanoAgrandisDefaut(boolean bHotspotsPanoAgrandisDefaut)
Définit la valeur de bHotspotsPanoAgrandisDefaut.
void afficheCarte()
Affiche la carte interactive avec marqueurs et radar.
boolean bHotspotsPanoAnimesDefaut
Indique si les hotspots panoramiques sont animés par défaut.
RadioButton rbTopRightBarreClassique
RadioButton pour positionner la barre classique en haut à droite.
void setiCalqueBoussole(int iCalqueBoussole)
Définit la valeur de iCalqueBoussole.
void setStrPositionBarreClassique(String strPositionBarreClassique)
Définit la position de la barre classique.
String getStrPositionVignettes()
Retourne la position des vignettes dans l'interface.
RadioButton rbBottomRightBarreClassique
RadioButton pour positionner la barre classique en bas à droite.
String getStrCouleurFondVignettes()
Retourne la couleur de fond des vignettes au format hexadécimal.
void setOffsetXBarreClassique(double offsetXBarreClassique)
Définit le décalage horizontal de la barre classique.
ComboBox tfFenetrePolice
ComboBox pour sélectionner la police des fenêtres.
double fenetreOpaciteFond
Opacité du fond des fenêtres (0.0 = transparent, 1.0 = opaque).
double dYReseauxSociaux
Décalage vertical des boutons de réseaux sociaux en pixels.
void setbFenetreAidePersonnalise(boolean bFenetreAidePersonnalise)
Définit la valeur de bFenetreAidePersonnalise.
String strRepertHotSpotsHTML
Répertoire des icônes de hotspots HTML.
BigDecimalField bdfFenetreAidePosY
Champ de saisie pour la position Y de la fenêtre d'aide.
void setiCalqueBarrePersonnalisee(int iCalqueBarrePersonnalisee)
Définit la valeur de iCalqueBarrePersonnalisee.
String getStrFenetreAideImage()
Retourne la valeur de strFenetreAideImage.
String strTitrePoliceStyle
Style de la police du titre (Regular, Bold, Italic, etc.).
boolean bTitreAdapte
Indique si le titre s'adapte automatiquement à la largeur.
String getStrTitrePosition()
Retourne la valeur de strTitrePosition.
double offsetYBoussole
Décalage vertical de la boussole en pixels.
RadioButton rbComboMenuBottomCenter
RadioButton pour positionner le menu combiné en bas au centre.
String strCouleurTexteInfoBulle
Couleur du texte des infobulles au format hexadécimal.
RadioButton rbBoutonVisiteAutoBottomCenter
RadioButton pour positionner le bouton visite auto en bas au centre.
PaneOutil poImageFond
PaneOutil pour la gestion de l'interface des images de fond.
String getStrFenetreCouleurFond()
Retourne la valeur de strFenetreCouleurFond.
void setbSuivantPrecedent(boolean bSuivantPrecedent)
Définit la valeur de bSuivantPrecedent.
void setTailleBoutonVisiteAuto(double tailleBoutonVisiteAuto)
Définit la valeur de tailleBoutonVisiteAuto.
void setCbAfficheBoutonVisiteAuto(CheckBox cbAfficheBoutonVisiteAuto)
Définit la valeur de cbAfficheBoutonVisiteAuto.
AnchorPane apVisuCarte
AnchorPane pour la visualisation de la carte géographique.
BigDecimalField bdfOffsetXComboMenu
Champ de saisie pour le décalage horizontal du menu combiné.
Color couleurBarrePersonnalisee
Couleur de la barre de navigation personnalisée.
void setTailleBarrePersonnalisee(double tailleBarrePersonnalisee)
Définit la taille (hauteur) de la barre de navigation personnalisée en pixels.
String strGetTemplate()
Retourne le template d'interface actuellement sélectionné
void setiCalqueTitre(int iCalqueTitre)
Définit la valeur de iCalqueTitre.
void setbMasqueNavigation(boolean bMasqueNavigation)
Active ou désactive le masquage de la barre de navigation.
RadioButton rbReseauxSociauxTopRight
RadioButton pour positionner les réseaux sociaux en haut à droite.
TextField tfLien1BarrePersonnalisee
TextField pour le lien personnalisé 1.
RadioButton rbBoutonVisiteAutoBottomLeft
RadioButton pour positionner le bouton visite auto en bas à gauche.
void setStrFenetreURL(String strFenetreURL)
Définit la valeur de strFenetreURL.
String strCouleurFondRadarCarte
Couleur de fond du radar au format hexadécimal.
ComboBox cbNiveauBoussole
ComboBox pour sélectionner le niveau de calque de la boussole.
void setStrRotationBarreClassique(String strRotationBarreClassique)
Définit l'affichage du bouton de rotation.
void setFenetreInfoPosY(double fenetreInfoPosY)
Définit la valeur de fenetreInfoPosY.
BigDecimalField bdfOffsetYBarrePersonnalisee
Champ de saisie pour le décalage vertical de la barre personnalisée.
WritableImage getWiBarrePersonnaliseeCouleur()
Obtient l'image de la barre personnalisée avec les couleurs appliquées.
ColorPicker cpCouleurTextInfoBulle
ColorPicker pour la couleur du texte des infobulles.
String strSourisBarreClassique
Activation du bouton mode souris dans la barre classique ("oui"/"non").
int getiCalqueVignettes()
Retourne la valeur de iCalqueVignettes.
void setZonesBarrePersonnalisee(ZoneTelecommande[] zonesBarrePersonnalisee)
Définit la valeur de zonesBarrePersonnalisee.
ImageView ivModeSouris2
ImageView pour l'icône du mode souris (état 2).
void setCouleurFondTheme(Color couleurFondTheme)
Définit la valeur de couleurFondTheme.
boolean isbHotspotsPhotoAnimesDefaut()
Retourne la valeur de bHotspotsPhotoAnimesDefaut.
RadioButton rbVignettesLeft
RadioButton pour positionner les vignettes à gauche.
ComboBox cbNiveauSuivPrec
ComboBox pour sélectionner le niveau de calque des boutons Suivant/Précédent.
void setiTailleHotspotsPanoramique(int iTailleHotspotsPanoramique)
Définit la valeur de iTailleHotspotsPanoramique.
boolean bOmbreInfoBulle
Indique si l'ombre est affichée sur les infobulles.
void changeCouleurBarreClassique(double couleurFinale, double sat, double bright)
void setCouleurTexteCarte(Color couleurTexteCarte)
Définit la valeur de couleurTexteCarte.
int getiCalqueSuivPrec()
Retourne la valeur de iCalqueSuivPrec.
void setStrPositionBoussole(String strPositionBoussole)
Définit la position de la boussole dans l'interface.
double opaciteInfoBulle
Opacité des infobulles (0.0 = transparent, 1.0 = opaque).
Slider slOpaciteTitre
Slider pour ajuster l'opacité du fond du titre.
String strImageMasque
Nom du fichier image utilisé pour le bouton de masquage.
int iTailleBordureTop
Épaisseurs des bordures des infobulles (top, bottom, left, right) en pixels.
NavigateurCarte navigateurCarteOL
Navigateur de carte OpenLayers.
RadioButton rbCarteRight
RadioButton pour positionner la carte à droite.
double getTailleBoussole()
Retourne la taille de la boussole en pixels.
ComboBox cbListePolicesTitre
ComboBox pour sélectionner la police du titre.
ColorPicker cpCouleurFondCarte
ColorPicker pour la couleur de fond de la carte.
CheckBox cbZoomBarreClassique
CheckBox contrôlant l'affichage des boutons de zoom.
void setbReseauxSociauxTwitter(boolean bReseauxSociauxTwitter)
Définit la valeur de bReseauxSociauxTwitter.
void setStrLien2BarrePersonnalisee(String strLien2BarrePersonnalisee)
Définit le second lien associé à la barre personnalisée.
void setStrCouleurTexteCarte(String strCouleurTexteCarte)
Définit la valeur de strCouleurTexteCarte.
double opaciteRadarCarte
Opacité du radar sur la carte (0.0 = transparent, 1.0 = opaque).
ComboBox cbNiveauVignettes
ComboBox pour sélectionner le niveau de calque des vignettes.
void setOffsetXComboMenu(double offsetXComboMenu)
Définit la valeur de offsetXComboMenu.
void setbCouleurOrigineBarrePersonnalisee(boolean bCouleurOrigineBarrePersonnalisee)
Définit si la barre personnalisée conserve ses couleurs d'origine.
String strFenetreCouleurFond
Couleur de fond des fenêtres au format hexadécimal.
double getOffsetYComboMenu()
Retourne la valeur de offsetYComboMenu.
double fenetreInfoOpacite
Opacité de la fenêtre d'informations (0.0 = transparent, 1.0 = opaque).
void setTailleMasque(double tailleMasque)
Définit la taille du masque.
CheckBox cbReplieDemarragePlan
CheckBox pour activer le repliement du plan au démarrage.
void setbHotspotsPhotoAgrandisDefaut(boolean bHotspotsPhotoAgrandisDefaut)
Définit la valeur de bHotspotsPhotoAgrandisDefaut.
String strPositionPlan
Position du plan à l'écran ("left", "right").
int iFacteurZoomCarte
Facteur de zoom initial de la carte (1-20).
boolean bMasqueTitre
Indique si le masquage s'applique au titre.
void setStrRotationBarrePersonnalisee(String strRotationBarrePersonnalisee)
Définit la zone de la barre personnalisée affectée aux boutons de rotation.
String strTitrePoliceTaille
Taille de la police du titre en points.
boolean bAfficheMasque
Indique si le bouton de masquage est affiché.
void setStrPositionVignettes(String strPositionVignettes)
Définit la position des vignettes.
Slider slOpaciteBarrePersonnalisee
Slider pour ajuster l'opacité de la barre personnalisée.
RadioButton rbReseauxSociauxBottomLeft
RadioButton pour positionner les réseaux sociaux en bas à gauche.
CheckBox cbDeplacementsBarreClassique
CheckBox contrôlant l'affichage des boutons de déplacement.
CheckBox cbCalques
CheckBox pour activer/désactiver la gestion des calques.
void setbAiguilleMobileBoussole(boolean bAiguilleMobileBoussole)
Active ou désactive la rotation de l'aiguille de la boussole.
String getStrRotationBarreClassique()
Indique si la rotation est affichée dans la barre classique.
final ToggleGroup grpCouleurBarrePersonnalisee
ToggleGroup pour les RadioButton de choix de couleur de la barre personnalisée.
int getiCalqueMenuPanoramiques()
Retourne la valeur de iCalqueMenuPanoramiques.
TextField tfFenetreAideImage
TextField pour spécifier l'image de la fenêtre d'aide.
ComboBox cbNiveauPartage
ComboBox pour sélectionner le niveau de calque des boutons de partage.
void setbAfficheCarte(boolean bAfficheCarte)
Définit la valeur de bAfficheCarte.
void setbTemplate(boolean bTemplate)
Définit la valeur de bTemplate.
void setTailleBarreClassique(double tailleBarreClassique)
Définit la taille des icônes de la barre classique.
double getdYMasque()
Retourne le décalage vertical du masque par rapport à sa position de référence.
void setCouleurLigneRadarCarte(Color couleurLigneRadarCarte)
Définit la valeur de couleurLigneRadarCarte.
void creeInterface(int iLargeur, int iHauteur)
Crée et initialise l'interface graphique principale de l'éditeur.
boolean isbReseauxSociauxTwitter()
Retourne la valeur de bReseauxSociauxTwitter.
double getFenetreOpaciteFond()
Retourne la valeur de fenetreOpaciteFond.
void setStrPleinEcranBarreClassique(String strPleinEcranBarreClassique)
Définit l'affichage du bouton plein écran.
String strVisibiliteBarreClassique
Visibilité initiale de la barre classique ("oui"/"non").
RadioButton rbComboMenuBottomRight
RadioButton pour positionner le menu combiné en bas à droite.
void setbMasqueBoussole(boolean bMasqueBoussole)
Active ou désactive le masquage de la boussole.
String strPositionYComboMenu
Position verticale du menu combiné ("top", "bottom").
void setStrSourisBarrePersonnalisee(String strSourisBarrePersonnalisee)
Définit la zone de la barre personnalisée affectée au bouton de la souris.
String strNomLayers
Nom du provider de tuiles cartographiques.
ColorPicker cpCouleurHotspotsPanoramique
ColorPicker pour la couleur des hotspots panoramiques.
String strSourisBarrePersonnalisee
Activation du bouton mode souris dans la barre personnalisée ("oui"/"non").
double getFenetreInfoposX()
Retourne la valeur de fenetreInfoposX.
ColorPicker cpCouleurTexteTheme
ColorPicker pour la couleur du texte du thème.
Slider slOpaciteRadar
Slider pour ajuster l'opacité du radar.
RadioButton rbReseauxSociauxBottomRight
RadioButton pour positionner les réseaux sociaux en bas à droite.
final ToggleGroup tgPosPlan
ToggleGroup pour les RadioButton de position du plan.
int getiTailleHotspotsImage()
Retourne la valeur de iTailleHotspotsImage.
final ToggleGroup tgImage
ToggleGroup pour les RadioButton de sélection d'image.
void setiCalqueMenuPanoramiques(int iCalqueMenuPanoramiques)
Définit la valeur de iCalqueMenuPanoramiques.
RadioButton rbPerso
RadioButton pour sélectionner une image personnalisée.
AnchorPane apVisuBoutonVisiteAuto
AnchorPane pour la visualisation du bouton de visite automatique.
boolean bAfficheRadar
Indique si le radar de position est affiché sur le plan.
CheckBox cbReplieDemarrageCarte
CheckBox pour activer le repliement de la carte au démarrage.
static String strTypeHSImage
Type du hotspot image sélectionné.
String strPleinEcranBarrePersonnalisee
Activation du bouton plein écran dans la barre personnalisée ("oui"/"non").
void affichePlan()
Affiche le plan 2D avec hotspots et boussole.
String getStrImageReseauxSociauxMeta()
Retourne le nom du fichier image pour le bouton Facebook/Meta.
AnchorPane apHotSpots2
AnchorPane pour le panel de configuration des hotspots images.
double getFenetreAidePosX()
Retourne la valeur de fenetreAidePosX.
double getOffsetYBoussole()
Retourne le décalage vertical de la boussole par rapport à sa position de référence.
RadioButton rbBoussTopLeft
RadioButton pour positionner la boussole en haut à gauche.
Slider slTailleHotspotsHTML
Slider pour ajuster la taille des hotspots HTML.
void changeCouleurHSPhoto(double couleurFinale, double sat, double bright)
void setCouleurFondRadarCarte(Color couleurFondRadarCarte)
Définit la valeur de couleurFondRadarCarte.
String getStrCouleurTexteVignettes()
Retourne la couleur du texte des vignettes au format hexadécimal.
void setWiBarrePersonnaliseeCouleur(WritableImage wiBarrePersonnaliseeCouleur)
Définit l'image de la barre personnalisée avec les couleurs appliquées.
String getStrPositionReseauxSociaux()
Retourne la position des boutons de réseaux sociaux dans l'interface.
void setImgMasque(Image imgMasque)
Définit la valeur de imgMasque.
boolean bMasqueReseaux
Indique si le masquage s'applique aux boutons de réseaux sociaux.
boolean bReplieDemarrageVignettes
Indique si les vignettes sont repliées au démarrage.
TextField tfPersURL2
TextField pour l'URL de l'option personnalisée 2.
ImageView imgBoussole
ImageView affichant l'image de la boussole.
String strStyleHotSpotHTML
Style par défaut pour les hotspots HTML.
RadioButton rbMiddleLeftBarreClassique
RadioButton pour positionner la barre classique au milieu à gauche.
CheckBox cbOutilsBarreClassique
CheckBox contrôlant l'affichage des boutons d'outils.
CheckBox cbMasqueSuivPrec
CheckBox pour activer le masquage des boutons suivant/précédent.
void setOffsetYBarrePersonnalisee(double offsetYBarrePersonnalisee)
Définit la valeur de offsetYBarrePersonnalisee.
VBox vbOutils
VBox contenant les outils de configuration.
String getStrPositionMasque()
Retourne la position du masque dans l'interface.
CheckBox cbReseauxSociauxTwitter
CheckBox pour activer le bouton Twitter/X.
RadioButton rbBottomCenterBarrePersonnalisee
RadioButton pour positionner la barre personnalisée en bas au centre.
void afficheFenetreInfo()
Affiche la fenêtre d'information du projet.
ImageView ivTwitter
ImageView affichant l'icône Twitter/X.
int getiCalqueMasquage()
Retourne la valeur de iCalqueMasquage.
void setFenetreURLPosY(double fenetreURLPosY)
Définit la valeur de fenetreURLPosY.
Slider slTaillePoliceInfoBulle
Slider pour ajuster la taille de la police des infobulles.
boolean bReplieDemarragePlan
Indique si le plan est replié au démarrage.
Slider slTailleTitre
Slider pour ajuster la taille du titre en pourcentage.
void setLargeurPlan(double largeurPlan)
Définit la valeur de largeurPlan.
double getTailleIconesBarrePersonnalisee()
Obtient la taille des icônes affichées dans la barre personnalisée.
String getStrStyleHotSpotHTML()
Retourne la valeur de strStyleHotSpotHTML.
ImageFond[] imagesFond
Tableau contenant les images de fond configurées.
String strCouleurFondTitre
Couleur de fond du titre au format hexadécimal.
String getStrZoomBarrePersonnalisee()
Obtient la zone de la barre personnalisée affectée aux boutons de zoom.
String getStrCouleurLigneRadarCarte()
Retourne la valeur de strCouleurLigneRadarCarte.
CheckBox cbAfficheReseauxSociaux
CheckBox pour activer l'affichage des réseaux sociaux.
String strPositionBarreClassique
Position de la barre de navigation classique (format "vertical:horizontal").
int getiTailleHotspotsPanoramique()
Retourne la valeur de iTailleHotspotsPanoramique.
void setTemplate(List< String > strTemplate)
Applique un template d'interface à partir d'une liste de paramètres.
void setCouleurTextePlan(Color couleurTextePlan)
Définit la valeur de couleurTextePlan.
double getTailleBarrePersonnalisee()
Obtient la taille (hauteur) de la barre de navigation personnalisée en pixels.
void setOpaciteMasque(double opaciteMasque)
Définit l'opacité du masque.
void setSpOutils(ScrollPane spOutils)
Définit la valeur de spOutils.
double getLargeurCarte()
Retourne la valeur de largeurCarte.
final String strStyleDefautBarreClassique
Style par défaut de la barre de navigation classique.
boolean isbMasqueReseaux()
Indique si le masque masque les réseaux sociaux.
CheckBox cbAiguilleMobile
CheckBox pour activer l'aiguille mobile de la boussole.
void setStrPositionXBoutonVisiteAuto(String strPositionXBoutonVisiteAuto)
int iNombreImagesFond
Nombre actuel d'images de fond dans le projet.
RadioButton rbCouleurPersBarrePersonnalisee
RadioButton pour utiliser une couleur personnalisée pour la barre.
String getStrFenetrePolice()
Retourne la valeur de strFenetrePolice.
String strRepertHotSpotsPhoto
Répertoire des icônes de hotspots photo.
ComboBox cbNiveauBarreClassique
ComboBox pour sélectionner le niveau de calque de la barre classique.
boolean isbAfficheReseauxSociaux()
Indique si les boutons de réseaux sociaux sont affichés.
ColorPicker cpCouleurFondTitre
ColorPicker pour la couleur de fond du titre.
RadioButton rbBoussBottomRight
RadioButton pour positionner la boussole en bas à droite.
CheckBox cbAfficheBoutonVisiteAuto
CheckBox pour activer l'affichage du bouton de visite automatique.
void setStrVisibiliteBarreClassique(String strVisibiliteBarreClassique)
Définit le mode de visibilité de la barre classique.
void setdXReseauxSociaux(double dXReseauxSociaux)
Définit le décalage horizontal des réseaux sociaux.
CheckBox cbSuivantPrecedent
CheckBox pour activer les boutons Suivant/Précédent.
boolean bAffichePlanetNormalMC
Indique si les options Planet/Normal sont affichées dans le menu contextuel.
boolean bHotspotsPhotoAgrandisDefaut
Indique si les hotspots photo sont agrandis au survol par défaut.
RadioButton rbSombre
RadioButton pour sélectionner l'image sombre.
CheckBox cbFSBarrePersonnalisee
CheckBox contrôlant l'affichage du bouton plein écran.
BigDecimalField bdfFenetreAidePosX
Champ de saisie pour la position X de la fenêtre d'aide.
Slider slEspacementBarreClassique
Slider pour ajuster l'espacement entre les boutons de la barre classique.
boolean isbFenetreAidePersonnalise()
Retourne la valeur de bFenetreAidePersonnalise.
RadioButton rbMasqueBottomLeft
RadioButton pour positionner le masque en bas à gauche.
Slider slOpaciteVignettes
Slider pour ajuster l'opacité des vignettes.
final Color couleurTexteTheme
Couleur du texte du thème (constante).
double getFenetreInfoPosX()
Retourne la valeur de fenetreInfoPosX.
double getTailleBoutonVisiteAuto()
Retourne la valeur de tailleBoutonVisiteAuto.
ColorPicker cpFenetreCouleurFond
ColorPicker pour la couleur de fond des fenêtres.
ImageView imgPrecedent
ImageView pour l'icône du bouton Précédent.
RadioButton rbClair
RadioButton pour sélectionner l'image claire.
double getTitreOpacite()
Obtient l'opacité du fond du titre du panoramique.
void setSlZoomCarte(Slider slZoomCarte)
Définit la valeur de slZoomCarte.
double taillePoliceInfoBulle
Taille de la police des infobulles en points.
String strRotationBarrePersonnalisee
Activation des boutons de rotation dans la barre personnalisée ("oui"/"non").
void setbAfficheMasque(boolean bAfficheMasque)
Active ou désactive l'affichage du masque.
String strPersURL1
URL de l'option personnalisée 1 du menu contextuel.
void setOpaciteBoussole(double opaciteBoussole)
Définit l'opacité de la boussole.
double opaciteVignettes
Opacité des vignettes (0.0 = transparent, 1.0 = opaque).
CheckBox cbOmbreInfoBulle
CheckBox pour activer l'ombre des infobulles.
void setStrTitrePoliceTaille(String strTitrePoliceTaille)
Définit la taille de la police utilisée pour le titre du panoramique.
String getStrStyleHotSpots()
Retourne la valeur de strStyleHotSpots.
boolean isbMasqueSuivPrec()
Retourne la valeur de bMasqueSuivPrec.
ImageView ivModeSouris
ImageView pour l'icône du mode souris (état 1).
boolean isbAffichePlanetNormalMC()
Retourne la valeur de bAffichePlanetNormalMC.
void setStrPositionPlan(String strPositionPlan)
Définit la valeur de strPositionPlan.
String strPositionBarrePersonnalisee
Position de la barre personnalisée (format "vertical:horizontal").
String strPersLib1
Libellé de l'option personnalisée 1 du menu contextuel.
void setiTailleHotspotsImage(int iTailleHotspotsImage)
Définit la valeur de iTailleHotspotsImage.
ImageView ivPleinEcran
ImageView pour l'icône plein écran (état 1).
boolean isbAfficheComboMenuImages()
Retourne la valeur de bAfficheComboMenuImages.
RadioButton rbMiddleRightBarrePersonnalisee
RadioButton pour positionner la barre personnalisée au milieu à droite.
String getStrStyleHotSpotImages()
Retourne la valeur de strStyleHotSpotImages.
double getFenetreInfoPosY()
Retourne la valeur de fenetreInfoPosY.
String strFenetreAideImage
Chemin de l'image personnalisée pour la fenêtre d'aide.
double offsetXBoutonVisiteAuto
Décalage horizontal du bouton de visite auto en pixels.
Slider slTailleRadarCarte
Slider pour ajuster la taille du radar de la carte.
void setiCalquePartage(int iCalquePartage)
Définit la valeur de iCalquePartage.
ScrollPane spOutils
ScrollPane contenant les outils de configuration.
void setOffsetXBoussole(double offsetXBoussole)
Définit le décalage horizontal de la boussole.
CheckBox cbZoomBarrePersonnalisee
CheckBox contrôlant l'affichage des boutons de zoom.
boolean bSuivantPrecedent
Indique si les boutons Suivant/Précédent sont affichés.
int iCalqueMenuPanoramiques
Niveau du calque pour le menu de sélection des panoramiques.
void setWiNouveauxBoutons(WritableImage[] wiNouveauxBoutons)
Définit la valeur de wiNouveauxBoutons.
CheckBox cbSourisBarreClassique
CheckBox contrôlant l'affichage du bouton mode souris.
void setOffsetXBarrePersonnalisee(double offsetXBarrePersonnalisee)
Définit la valeur de offsetXBarrePersonnalisee.
Label lblTxtTitre2
Label pour le texte du titre (ligne 2).
Image imgPngBarrePersonnalisee
Image PNG de la barre personnalisée.
int iCalqueMasquage
Niveau du calque pour l'élément de masquage.
boolean bAffichePersMC2
Indique si l'option personnalisée 2 est affichée dans le menu contextuel.
ColorPicker cpCouleurFondVignettes
ColorPicker pour la couleur de fond des vignettes.
ResourceBundle rbLocalisation
ResourceBundle pour la localisation de l'interface.
CheckBox cbDeplacementsBarrePersonnalisee
CheckBox contrôlant l'affichage des boutons de déplacement.
String getStrLien1BarrePersonnalisee()
Obtient le chemin vers le fichier SHP (shapefile) définissant les zones de la barre.
Image[] imgBoutons
Tableau des images des boutons chargées.
void setLargeurCarte(double largeurCarte)
Définit la valeur de largeurCarte.
void setdYMasque(double dYMasque)
Définit le décalage vertical du masque.
Slider slTailleBoutonVisiteAuto
Slider pour ajuster la taille du bouton de visite automatique.
RadioButton rbTopCenterBarrePersonnalisee
RadioButton pour positionner la barre personnalisée en haut au centre.
CheckBox cbMasqueVignettes
CheckBox pour activer le masquage des vignettes.
WritableImage[] wiNouveauxBoutons
Tableau des nouvelles images de boutons modifiées.
void setOffsetYBoutonVisiteAuto(double offsetYBoutonVisiteAuto)
Définit la valeur de offsetYBoutonVisiteAuto.
double fenetreInfoTaille
Taille de la fenêtre d'informations en pourcentage.
RadioButton rbBoutonVisiteAutoTopRight
RadioButton pour positionner le bouton visite auto en haut à droite.
Color couleurFondRadarCarte
Couleur de fond du radar sur la carte.
boolean isbAfficheMenuContextuel()
Retourne la valeur de bAfficheMenuContextuel.
String strTypeAnimationHTMLDefaut
Type d'animation par défaut pour les hotspots HTML.
RadioButton rbCouleurOrigineBarrePersonnalisee
RadioButton pour utiliser la couleur d'origine de la barre personnalisée.
void setiNombreImagesFond(int iNombreImagesFond)
Définit la valeur de iNombreImagesFond.
CheckBox cbAfficheTitre
CheckBox pour activer l'affichage du titre.
void setStrImageBoussole(String strImageBoussole)
Définit l'image de la boussole à afficher.
void setStrDeplacementsBarreClassique(String strDeplacementsBarreClassique)
Définit l'affichage des boutons de déplacement.
double getTailleMasque()
Retourne la taille du masque en pixels.
double getTitreDecalage()
Retourne la valeur de titreDecalage.
boolean bMasqueVignettes
Indique si le masquage s'applique aux vignettes.
Slider slTailleHotspotsPanoramique
Slider pour ajuster la taille des hotspots panoramiques.
String getStrPositionBoussole()
Retourne la position de la boussole dans l'interface.
double offsetYBoutonVisiteAuto
Décalage vertical du bouton de visite auto en pixels.
void setStrCouleurFondPlan(String strCouleurFondPlan)
Définit la valeur de strCouleurFondPlan.
void setStrPersURL2(String strPersURL2)
Définit la valeur de strPersURL2.
String getStrDeplacementsBarreClassique()
Indique si les déplacements sont affichés dans la barre classique.
Color couleurLigneRadarCarte
Couleur de la ligne du radar sur la carte.
void setTitreTaille(double titreTaille)
Définit la valeur de titreTaille.
String strFenetreInfoImage
Chemin de l'image personnalisée pour la fenêtre d'informations.
WritableImage wiBarrePersonnaliseeCouleur
Image modifiable de la barre personnalisée avec couleur appliquée.
String getStrPositionBarrePersonnalisee()
Obtient la position de la barre de navigation personnalisée sur l'écran.
ComboBox cbListePoliceInfoBulle
ComboBox pour sélectionner la police des infobulles.
String getStrCouleurFondTitre()
Obtient la couleur de fond du titre du panoramique.
String strRepertBoussoles
Répertoire des images de boussoles.
void setbMasqueCombo(boolean bMasqueCombo)
Définit la valeur de bMasqueCombo.
BigDecimalField bdfFenetreInfoPosY
Champ de saisie pour la position Y de la fenêtre d'informations.
double fenetreAideOpacite
Opacité de la fenêtre d'aide (0.0 = transparent, 1.0 = opaque).
String strStyleHotSpots
Style par défaut pour les hotspots de navigation.
String strFenetreURLCouleur
Couleur du lien URL au format hexadécimal.
String[] getStrNomImagesBoutons()
Retourne la valeur de strNomImagesBoutons.
void setStrImageReseauxSociauxEmail(String strImageReseauxSociauxEmail)
Définit l'image pour le bouton Email.
ImageView imgSuivant
ImageView pour l'icône du bouton Suivant.
int iCalquePartage
Niveau du calque pour les boutons de partage sur réseaux sociaux.
void setiFacteurZoomCarte(int iFacteurZoomCarte)
Définit la valeur de iFacteurZoomCarte.
String getStrTitrePoliceTaille()
Obtient la taille de la police utilisée pour le titre du panoramique.
void setOpaciteVignettes(double opaciteVignettes)
Définit l'opacité des vignettes.
boolean isbAfficheDescription()
Retourne la valeur de bAfficheDescription.
void afficheBarreClassique(String strPosition, double dX, double dY, double taille, String strStyleBoutons, String strStyleHS, double espacement)
Affiche la barre d'outils classique avec boutons de navigation.
void setTailleRadar(double tailleRadar)
Définit la valeur de tailleRadar.
void choixBarrePersonnalisee()
Ouvre un dialogue pour choisir une barre personnalisée.
boolean bAfficheReseauxSociaux
Indique si les boutons de réseaux sociaux sont affichés.
int getiCalqueBarrePersonnalisee()
Retourne la valeur de iCalqueBarrePersonnalisée.
WritableImage wiNouveauxMasque
Nouvelle image du masque modifiée.
CheckBox cbAffichePersMC1
CheckBox pour activer l'option personnalisée 1 du menu contextuel.
String getStrPositionYBoutonVisiteAuto()
Retourne la valeur de strPositionYBoutonVisiteAuto.
double fenetreAidePosX
Position horizontale de la fenêtre d'aide en pixels.
void setbAfficheTitre(boolean bAfficheTitre)
Définit la valeur de bAfficheTitre.
String strFenetreTexteURL
Texte associé à l'URL dans la fenêtre.
CheckBox cbAfficheComboMenu
CheckBox pour activer l'affichage du menu combiné.
javafx.animation.Animation animationHTMLEnCours
Animation en cours pour les hotspots HTML (pour pouvoir l'arrêter).
void setbMasqueHotspots(boolean bMasqueHotspots)
Définit la valeur de bMasqueHotspots.
void setdYReseauxSociaux(double dYReseauxSociaux)
Définit le décalage vertical des réseaux sociaux.
void setPwNouveauxBoutons(PixelWriter[] pwNouveauxBoutons)
Définit la valeur de pwNouveauxBoutons.
final ToggleGroup grpPositionBarrePersonnalisee
ToggleGroup pour les RadioButton de position de la barre personnalisée.
String strPositionXComboMenu
Position horizontale du menu combiné ("left", "right").
String strPositionCarte
Position de la carte à l'écran ("left", "right").
String strImageReseauxSociauxEmail
Nom du fichier image pour le bouton Email.
ComboBox cblisteStyleBarreClassique
ComboBox pour sélectionner le style de la barre classique.
void setPrLisBoutons(PixelReader[] prLisBoutons)
Définit la valeur de prLisBoutons.
void setStrPersURL1(String strPersURL1)
Définit la valeur de strPersURL1.
void setCouleurFondPlan(Color couleurFondPlan)
Définit la valeur de couleurFondPlan.
Slider slHauteurCarte
Slider pour ajuster la hauteur de la carte.
void setStrInfoBarrePersonnalisee(String strInfoBarrePersonnalisee)
Définit la zone de la barre personnalisée affectée au bouton d'information.
boolean bTitreVisite
Indique si le titre de la visite s'affiche.
ImageView ivMeta
ImageView affichant l'icône Meta (Facebook).
void setTitreDecalage(double titreDecalage)
Définit la valeur de titreDecalage.
void setTailleReseauxSociaux(double tailleReseauxSociaux)
Définit la taille des boutons de réseaux sociaux.
boolean bAfficheDescription
Indique si la description est affichée.
void setStrFichierImage(String strFichierImage)
Définit la valeur de fichierImage.
String getStrUrl()
Retourne la valeur de url.
double getOffsetY()
Retourne la valeur de offsetY.
void setOffsetY(double offsetY)
Définit la valeur de offsetY.
double getOpacite()
Retourne la valeur de opacite.
boolean isMasquable()
Retourne la valeur de masquable.
void setTailleY(int tailleY)
Définit la valeur de tailleY.
void setStrPosY(String strPosY)
Définit la valeur de posY.
String getStrPosY()
Retourne la valeur de posY.
String getStrType()
Retourne la valeur de strType.
void setStrType(String strType)
Définit la valeur de strType.
int getTailleX()
Retourne la valeur de tailleX.
void setTailleX(int tailleX)
Définit la valeur de tailleX.
Image getImgFond()
Retourne la valeur de imgFond.
void setOpacite(double opacite)
Définit la valeur de opacite.
String getStrCible()
Retourne la valeur de strCible.
int getiNumDiapo()
Retourne la valeur de iNumDiapo.
void setStrInfobulle(String strInfobulle)
Définit la valeur de infobulle.
String getStrInfobulle()
Retourne la valeur de infobulle.
void setStrUrl(String strUrl)
Définit la valeur de url.
void setImgFond(Image imgFond)
Définit la valeur de imgFond.
String getStrPosX()
Retourne la valeur de posX.
double getOffsetX()
Retourne la valeur de offsetX.
String getStrFichierImage()
Retourne la valeur de fichierImage.
void setStrPosX(String strPosX)
Définit la valeur de posX.
void setOffsetX(double offsetX)
Définit la valeur de offsetX.
void setMasquable(boolean masquable)
Définit la valeur de masquable.
int getiCalqueImage()
Retourne la valeur de iCalqueImage.
void setStrCible(String strCible)
Définit la valeur de strCible.
void setiNumDiapo(int iNumDiapo)
Définit la valeur de iNumDiapo.
void setiCalqueImage(int iCalqueImage)
Définit la valeur de iCalqueImage.
int getTailleY()
Retourne la valeur de tailleY.
void invalidateMapSize()
Force le recalcul de la taille de la carte Leaflet.
void allerAdresse(String strAdresse, int iZoom)
Recherche une adresse et centre la carte dessus.
void choixZoom(int iZoom)
Définit le niveau de zoom de la carte.
CoordonneesGeographiques recupereCoordonnees()
Récupère les coordonnées actuelles du centre de la carte.
void retireMarqueurs()
Retire tous les marqueurs de la carte.
WebEngine getWebEngine()
Retourne la valeur de webEngine.
void afficheRadar(CoordonneesGeographiques coords, double dAngle, double dFOV, double dTaille, String strCouleurLigne, String strCouleurFond, double dOpacite)
Affiche un radar sur la carte (champ de vision)
void ajouteMarqueur(int index, CoordonneesGeographiques coords, String strHTML)
Ajoute un marqueur sur la carte.
void afficheCartesOpenlayer()
Méthode vide pour compatibilité (l'interface est créée à la demande)
void setOnMapReady(Runnable callback)
Définit un callback à exécuter quand la carte est chargée et prête.
void retireRadar()
Retire le radar de la carte.
void changeCarte(String strType)
Change le type de carte (OSM ou Satellite)
boolean isbDebut()
Indique si la carte est prête (initialisée)
javafx.scene.layout.AnchorPane getApChoixCartographie()
Crée un panneau de choix de type de carte (OSM ou Satellite)
void allerCoordonnees(CoordonneesGeographiques coords, int iZoom)
Centre la carte sur des coordonnées avec un niveau de zoom.
AnchorPane getApPaneOutil()
Retourne la valeur de apPaneOutil.
void setbValide(boolean bValide)
Définit la valeur de bValide.
static double computeTextWidth(Font font, String text, double help0)
Gestionnaire de thèmes pour l'application EditeurPanovisu.
static Theme getCurrentTheme()
Retourne le thème actuellement appliqué
String getStrIdZone()
Retourne la valeur de strNomZone.
function x(t, e, i)
Definition leaflet.js:5
function t
Definition leaflet.js:5
function ii(t, e, i)
Definition leaflet.js:5
function k(t, e, i, n)
Definition leaflet.js:5
function i(t, e)
Definition leaflet.js:5
function y(t)
Definition leaflet.js:5
var e
Definition leaflet.js:5
function me(t)
Definition leaflet.js:5
var d
Definition leaflet.js:5
THREE Color
Definition three.min1.js:6
THREE Line
THREE Math
THREE CurvePath prototype add